Skip to main content

Full text of "Analog Computing Magazine Issue 29 (CES Part 2)"

See other formats






t*^tmmmm$ n ■ p > , » < n » 




:-^itji^-jiM.i'^-- 




I M I M >» »' ■»»»» ''»r»*Yttti 






••#••♦••♦•••••••••••* 

» ••to**** •••••"• * 

•J»#**««** **' 










'-":-S^ErS:»^ 










Simulator n 



ml^'-' 





rourseif in the pilot's seat of a Piper 181 Cherokee Archerfor an awe-inspiring flight over realistic scene 
from New Yorlcto Los Angeles. High speed color-filled 3D^aphics will give you a beautiful panoramic vie 
as you practice tal<eoffs, landings, and aerobatics. Complete documentation will get you airborne quicldy 
even if you've never flown before. When you think you're ready, you can play the World War I Ace aerial battii 
game. Flight Simulator II features include ■ animated color 3D graphics ■ day, dusk, and night flying mode. 
■ over 80 airports in four scenery areas: New York, Chicago, Los Angeles, Seattle, with additional scenery ! 
areas available ■ user-variable weather, from clear blue skies to grey cloudy conditions ■ complete flight I 
instrumentation ■ VOR, ILS, ADF, and DME radio equipped ■ navigation facilities and course plotting ■ World f 
War I Ace aerial battle game ■ complete information manual and flight handbook. 



See your dealer.. 

or write or call for more information. For direct orders enclose $49.95 plus $2.00 
for sfiipping and specify UPS or first class mail delivery. American Express, 
Diner's Club, MasterCard, and Visa accepted. 

Order Line: 800 / 637-4983 








CIRCLE #101 ON READER SERVICE CARD 



LOGIC 

Corporation 

713 Edgebroolc Drive 
Cliampaign IL 61820 

(217) 359-8482 Telex: 208995 



NO. 29 



APRIL 1985 



THE #1 MAGAZINE FOR ATARI® COMPUTER OWNERS 




COMPUTING 




FEATURES 

Winter CES: Part 2 Arthur Leyenberger 4 

RAMCHECK Angelo Giambra 19 

RAM Operating System 

for Atari XLs Ken Alexander 22 

MaxiCopy Grant Albreciit 25 

Extended Calculations Donny Chert 30 

XL Compatibility Dwight Stanley 34 

Dragonlord Clayton Walnum 38 

XL Expansion Connector Michael Alan Barton 48 

Revive 

A disk file recovery utility Philip Altman 55 

Cheep Talk: Build your own 

speech synthesizer Lee Brilliant, M.D. 59 

B-Line Angelo Giambra 73 

REVIEWS 

Software Movies: Visualizer 

(Maximus) Arthur Leyenberger 89 

Suspect (Infocom, Inc.) Ray Berube 47 

COLUMNS 

Reader Comment 6 

Griffin's Lair Braden E. Griffin, M.D. 9 

Ask Mr. Forth Donald Forbes 13 

Unicheck 32 

The End User Arthur Leyenberger 68 

Boot Camp Tom Hudson 71 

Index to Advertisers 92 

Reader Service 93 



ANALOG COMPUTING (ISSN 0744-9917) is puMishi-d monthly for $28 pi-r ya, by ANALOG 400/800 Corp., 565 Main Sirvu. Clurry V.,ll,-y. MA OKill. Si-cond class postaiii- P»iJ « Worccs,cr. MA and addiilonal mailing oflic 







^ 



/. 



^* ^ La^be' of o 



i yoof 





gl^gp 



ASSAULT ON THE ASTRAL RIFT 

I ■ ' is available at 

'-■ "" your local dealer or direct 

from MMG Micro Software. Just 

send check or money order to P.O. Box 

131, Marlboro, N.J. 07746 or for Mastercard, 

Visa, and C.O.D. deliveries call (201)431-3472. Please 

add $3.00 for postage and handling. New Jersey residents add 

O/o Sales tax, _y^j^^™^^~^^_p^^jj|_j^ . Atan is a registered trademark of Atan, Inc 

tIMm^M- circle #102 ON READER SERVICE CARD 



rove\ be^ 



ond, '\^ 



doing ^O' 



--So>^ned..ef*- 






T^ev most 



convened to a ^^^^ 
^"°"?o!,toov. the -> 



event' 



s. T^roe- - ^ouf 



beg^n V^ 



r*e*9°"^^'" 
oo. oowerse'. 



•■^'MitairOifj: 



ANALOG COMPUTING 

STAFF 

Editors/Publishers 

MICHAEL J. DESCHENES 
LEE H. PAPPAS 

Managing Editor 

JON A. BELL 

Production Editor 

DIANE L. GAW 

Contributing Editors 

DONALD FORBES 
BRADEN GRIFFIN, M.D. 
TONY MESSINA 

East Coast Editor 

ARTHUR LEYENBERGER 

West Coast Editor 

JIM DUNION 

Art Director 
BOB DESI 

Contributing Artist 

LINDA RICE 

Technical Division 

CHARLES BACHAND 
TOM HUDSON 
KYLE PEACOCK 

Advertising Manager 

MICHAEL J. DESCHENES 

Distribution 

PATRICK J. KELLEY 

Production/Distribution 

LORELL PRESS, INC. 

Contributors 

GRANT ALBRECHT 
KEN ALEXANDER 
PHILIP ALTMAN 
MICHAEL ALAN BARTON 
RAY BERUBE 
LEE BRILLIANT, M.D. 
DONNY CHERF 
ANGELO GIAMBRA 
DWIGHT STANLEY 
CLAYTON WALNUM 



ANALOG Computing 
magazine (ANALOG 400/800 
Corp.) is in no way affiliated 
with Atari. Atari is a 
trademark of Atari, Corp. 



For subscription information 

and service 

call toll-free: 

1'800'345'8112 

in Pennsylvania call 
1-800-662-2444 



ADVERTISING SALES 




ANALOG Computing 

Home Office 
Michael DesChenes 
National Advertising 
(617)892-9230 



Gerald F. Sweeney St Associates 

P.O. Box 662 

New York. NY 10113 

(212)242-3540 



Address all advertising materials to: 

Michael DcsChencs — Advertising Production 

ANALOG Computing 

565 Main Street, Cherry Valley, MA 01611 



ANALOG Computing (ISSN 0744-9917) is published monthly for $28 per year by 
ANALOG 400/800 Corp., 565 Main Street, Cherry Valley, MA 01611, Tel. (617) 
892-3488. Second-class postage paid at Worcester, MA and additional mailing of- 
fices. POSTMASTER: Send address changes to ANALOG Computing, P.O. Box 
615, Holmes, PA 19043. No portion of this magazine may be reproduced in any form 
without written permission of the publisher. Program listings should be provided in 
printed form. Articles should be furnished as typed copy in upper and lower case with 
double spacing. By submitting articles to ANALOG Computing, authors acknowledge 
that such materials, upon acceptance for publication, become the exclusive property 
of ANALOG Computing. If not accepted for publication, the articles and/or pro- 
grams will remain the property of the author. If submissions are to he returned, please 
supply self-addressed, stamped envelope. U.S.A. newstand distribution by Eastern News 
Distributors, Inc., Ill Eighth Ave., New York, NY 10011. 

Contents copyright © 1985 ANALOG 400/800 Corp. 



PAGE 4 



ANALOG COMPUTING 



ISSUE 29 




by Arthur Leyenberger 



At the Summer Consumer Electronics Show held 
in Chicago in June of 1984, Atari was still trying to 
turn things around. The theme of their press confer- 
ence was printed everywhere, even on free T-shirts 
(one of which I still have), proclaiming "June 3, 1984 
— the Day the Future Began." Little did we (or they) 
know that the future was to begin almost a month 
later, when Jack Tramiel bought Atari from Warner 
Communications. 

After the surprise announcement that Atari was 
now owned by Tramel Technologies, little or no in- 
formation came out of the Sunnyvale headquarters 
of the new Atari Corp. Promises were continually 
made by Jack Tramiel and every other remaining Atari 
executive that "you'll see — at CES in January we'll 
be showing our new computers, and they will knock 
your socks off." 

It came true. The big news at the 1985 Winter CES 
in Las Vegas was hardware. . .specifically, Atari hard- 
ware (see our preview of the new Atari computers in 
issue 28). 

Sure, Coleco was there with a huge exhibit, right 
across from the Atari booth. Coleco announced just 
a few days before the show that they were getting out 
of the home computer business. Seems as if the Adam 
has been chased out of the home computer Garden 
of Eden. Anyway, I guess somebody forgot to tell the 



unfortunate Coleco employees that their company was 
no longer in the computer business. They spent a lot 
of their time standing around and talking amongst 
themselves. 

Commodore was there in full strength. Well, almost. 
They were, after all, missing their past driving force, 
Jack Tramiel. Nonetheless, they were showing off the 
Commodore 128 computer, the replacement for the 
aging 64. They hope to repeat their past 64's success 
with the new machine. 

However, the January Wall Street Journal reported 
Commodore International's earnings falling 94% in 
the industry's traditionally strong season, the last 
quarter of 1984. Far fewer Commodore 64s were sold 
this last Christmas than the previous year. The shock- 
er for Commodore was the fact that as many Atari 
XLs were sold as 64s — an unprecedented occurrence. 

Commodore has just chopped the price of the 64 
from $200 to $149, in an attempt to clear out inven- 
tory before they begin pushing the 128. The Christ- 
mas losses could, in part, be due to the many defec- 
tions from Commodore's upper management to the 
new Atari. Also, there has been too much of a lag 
between the 64 and the new 128 (which, compared 
to the Atari ST line, is too little, too late). 

(continued on page 84) 



Q : What's 69% Faster Than a Commodore 64? 
What's 38%^'l^aster.Than an IBM* PC?_ 
What's 68% F*asterThan an IBM PCjr ? 
What's 54% Faster Than Applesoft ? 



A: 




Basic 



XL 








The answer is BASIC XL. 

Don't take our word for it! Try the benchmark test in January '85 issue 
of Compute!^ magazine, on any of these computers with their Basic's. 
Time it yourself. . . . Then try it on an Atari- computer with BASIC XL. 

and the Price is IMOW OIMLY $79.00 



*Just ask us for complete details, as well as other benchmark results. 



#iS 



Optimized Systems Software, Inc. 

1221BKentwood Avenue, San Jose. California 951 29 (408)446-3099 



IBM PC, PCjr are trademarks of IBM Corp.; Applesofl is a trademark of Apple Compiil«r Inc.; Commodore 6-1 is a trademark of Commodon; Business Machinee; Compu/e.' is a trademark of ABC Corp; Atari la a trademark of Atari Corporation. 

CIRCLE #103 ON READER SERVICE CARD 



PAGE 6 








ANALOG COMPUTING 






ISSUE 29 




^^^^^^^^^^H ^^^H 

1^^^ %.^ 




£2 


|; 


r^^ ■■ H ak TJ 




■ 


Vf m.^^ ^^^^ 



Lost Lucasfilm games. 

I am writing to you because I've 
got two questions to ask you. 

Ql: What happened to Atari/ 
Lucasfilm's Rescue on Fractalus? 

Q2: What happened to Atari/ 
Lucasfilm's other, second game for 
the Atari home computers, Ball- 
blazer? 

Lucasfilm said they would be out 
in August 1984. It's now January 
1985. 

Your friend and forever reader, 

James Warren 

Both the Lucasfilm games, Ball' 
blazer and Rescue on Fractalus, 

have been bought by Epyx Software, 
after the contract agreements with the 
old Atari ran out. They should he out 
soon. — Ed. 

Printer as display screen. 

This letter is in response to the 
reader who was looking for a POKE 
that would allow him to use his 
printer as a display screen. 

Try using: 
POKE S3S,iee:P0KE 839,238 

This will send anything which 
normally prints on the screen to 
the printer. To return to normal 
printing, use: 
POKE 838,ie3:P0KE 835,246 

Sincerely, 
Scott Sheck 
Gaithersburg, MD 



Documentation, please! 

I have just finished reading your 
interview with Mr. Tramiel . . .The 
success of Commodore with the 
Vic 20 and the 64 was price, but, 
in my opinion, the superior docu- 
mentation contributed greatly to 
that success. 

I own two Commodore 64s and 
one Vic. The User's Guide coupled 



with an optional ($14.95) Program- 
mer Guide provide the user with all 
the data he would ever want to 
know about the machine, even a 
schematic for the serious "hacker." 

Like many of your readers, when 
the price of the Atari 800XL went 
down, I ran out and added to my 
arsenal of home computers. When 
I found what documentation came 
with the system, I was appalled. 
Therefore, I got on the phone to 
Atari, only to find out I had to part 
with another $40.00 for additional 
documentation. It has been three 
months now, and still no documen- 
tation. 

My point is this: Atari can build 
the best machine for the buck, but 
if they fail to support it in the form 
of good documentation, it's good- 
bye. Atari. The third-party people 
helped Commodore with their suc- 
cess story — via Commodore's "open 
book" policy. Why doesn't Atari do 
the same? Just ask the senior man- 
agement at Texas Instrument or 
Coleco what their "closed book" 
policy got them. 

Sincerely yours, 

Joseph F. Stoneking 

Colorado Springs, CO 

Good documentation has always 
boosted the success of any computer 
product. We certainly hope that Atari 
Corp. bears that in mind . . . Remem- 
bering that this is a new company, we 
trust they'll get the bugs out of their 
information systems soon. — Ed. 

Hexidecimals on the menu. 

First, I must tell you that I look 
forward to the arrival of your maga- 
zine, and when it comes, all other 
work around the house ceases tem- 
porarily. 

Second, I am a big fan of your 
hexidecimal programs, like: Retro- 
fire, Crash Dive!, Bacterion! and 



Fire Bug. My question is this: is it 
possible to put more than one of 
these programs on one side of a 
disk, then have a routine that — 
when you boot up — gives you a 
menu to choose one to RUN? 

I was also wondering whether or 
not a "fix" had been found for Bac- 
terion! to prevent a system crash 
during the game on XL machines. 

Lastly, I would like to congratu- 
late Matthew J.W Ratcliff on his 
program Matt*Edit. It is one of my 
all-time favorites, and besides being 
useful, it is fun to use. Keep up the 
great work! 

Sincerely, 

Bradly L. Pera 

Canoga Park, CA 

So far, we haven't been able to lo- 
cate the problem with Bacterionl 
but, hopefully, we'll have a fix soon. 

As for our other machine language 
games, the program called Binary 
File Menu/Loader, printed in issue 
17, will allow you to place several pro- 
grams on one disk and run them from 
a menu. — Ed. 



New BBS. 

I'm writing to invite your readers 
to call a new Atari-oriented BBS 
operating in Anniston, Alabama. 
For its experimental stage, A.F.I.X. 
BBS will be on-line from 6 p.m. 
until 6 a.m. each weekday, and all 
day Saturdays and Sundays. New 
files available for download, and 
plenty of message space is available. 
The number is (205) 820-2053. 

1 would also like to make a sug- 
gestion. Keeping up with current 
Atari-oriented BBSs is extremely 
difficult, because new boards are 
formed, old boards fall by the way- 
side, and numbers are changed. 

Perhaps ANALOG Computing 
could devote a page each month 
with a list of Atari BBSs known to 



be active. When a new BBS comes 
on-line, or a number changes, the 
Sysop could notify the magazine. 

If readers find a number that is 
no longer active — or incorrect — 
they could also notify ANALOG 
Computing. A setup similar to this 
would be a great service to Atari 
modem enthusiasts. 

Thank you for your excellent 
magazine. I look forward to receiv- 
ing it each month. 

Sincerely, 

CO. Dickerson 

Anniston, AL 

We feel that a current BBS listing 
is important, too. Rather than print 
an updated list in each issue of ANA- 
LOG Computing, we're planning 
to keep that information on our own 
bulletin board, starting in the near fu- 
ture. — Ed. 



Adam's Adventures for XL. 

I've been a 400 owner for three 
years and an ANALOG Comput- 
ing subscriber almost as long. Re- 
cently, I bought an 800XL. . .and 
found that the loader program in- 
cluded with cassette versions of 
Scott Adam's Adventures fails to 
work properly. 

I soon discovered that the reason 
for this lies in the fact that routines 
called by the loader program have 
been moved lower in memory in 
the XL OS. Changing the loader 
program to the following will allow 
XL users to continue enjoying cas- 
sette versions of Scott Adam's Ad- 
ventures: 

10 DATft 184,169,0,133,9,32 

,128,198,165,9,240,7,169,8 

0,133,2,76,160,198,96 

40 FDR 1=0 TO 19 .-READ A:PO 

KE 1536+1, A:NEXT I:I=U5RC1 

536) 



Sincerely, 
Ray Wilmott 
Spotswood, NJ 



Cassette Compressor problems. 

Thank you for a great magazine, 
which, although I am just a begin- 
ner and mainly play games which 
I type into my Atari, I find. . .very 
interesting. 

At the moment, we are having 
a bit of difficulty getting ANA- 



LOG Computing here, but our dis- 
tributor is trying another source. 
In issue 24, on page 55, there is a 
program (Cassette Compressor) to 
reduce the loading time of boot 
games on cassette (I cannot afford 
a disk drive yet). I have typed the 
program in and CrCHECKed it, 
but I still cannot condense any of 
the commercial games (i.e., E.T.). 
After going through the recom- 
mended steps, the computer just 
comes up with BOOT ERROR. 

Could you help by explaining 
why it will not work, as it would 
save a lot of time when loading 
these very long games. 

Yours faithfully, 

H.C. Langston 

Cheshire, England 

P.S. I own a 400 (48K) full type- 
writer keyboard. 

First, many commercial games use 
a "multi-stage" boot process, which 
Cassette Compressor is unable to 
handle. Cassette Compressor is in- 
tended to be used with single-stage 
boot tapes, such as our machine lan- 
guage games and utilities. 



FROM 




THREE 

PDQ DISKS 

AND A NEW 

FUTURE 

59.95 

We'll tell you about the disks: 

PDQ - Premium Disk Quality 
DO - Double-Density (48 TPI) 
DS ■ Double-Sided 

The front is ready lor you to format and 

use; the back is reusable. 
W21 - 21-year Warranty! 

Your A tari (48-K) can tell you about your 
new future. 

Boot in the program on the back of each disk. 
You'll see. 

Order PDQ! Write "PDQ" on a paper, with 
your (legible!) name and address; send 
with $9.95 (we'll pay the shipping for USA 
and Canada ■ NYS residents add 7% 
Sales Tax) to: 

SENECOM 

Dept. 26 

13 White St. 

Seneca Falls, N.Y. 13148 
Limit: one order per address, please. 
Atari' is a registered trademark of Atari Corporation. 
SENECOM is a registered trademark of 

Seneca Computer Company, Inc. 




ASTRA 1620 ... 




LIMITED QUANTITIES 

$349.00 

PLUS $10.00 SHIPPING 



INCLUDED ... 
SMARTDOS 



ASTRA 2001 
ASTRA BIG D 



549.00 
$645.00 



(INCLUDES SMART DOS AND MY DOS) 



DESK SET $39.00 



COMPLETE DESK PACKAGE 

CALENDAR 

CALENDAR is a perpetual calendar, an appointment 
calentJar and also a card file. Tiie perpetual calendar 
is a calendar of every montti, past, present or future. 
The appointmeni calendar allows up lo 15 entries to 
be rrade eacfi day. 

CARD FILE 

Tfie card file is a mail list program wiiicfi holds up to 
200 addresses. The printing formal of card file in- 
cludes continuous lists, labels or envelopes. Files can 
be printed; ail the files from one file number to 
another; by zip code; by stale or by selected files. 

LEHER WRITER 

LETTER WRITER is a preformatted letter writing pro- 
gram. LETTER WRITER can be used for any number 
of applications involving entering, editing and printing 
text. LETTER WRITER is designed to be easy to use 
and does not require extensive training. While LET- 
TER WRITER is not a full word processing system, it 
performs 90% of the functions used by harder to use 
and more expensive word processors. DESK SET 
also contains a program that allows you to combine 
Card File and Letter Writer for interaction. 

FINANCIAL CALCULATOR 

FINANCIAL CALCULATOR answers virtually any 
questions concerning the cost of money, loans, and 
interest earned on savings, loans and investments. 
Plus, this program will give a complete interest earned 
table and amortization table. This program is a must 
for anyone serious about money. 

FORECASTER 

Forecast future events based on past information. 
Forecast profits, costs, sales trends, prices test 
scores, virtually anything. Edit, save on disi< and test 
various elements to determine the outcome. 
FORECASTER is a powerful "what if" program - a 
must for business. 

Two drive - double density - 48K required. 



MasterCard/VISA 

The Programmers Workshop 

5230 Clark Ave., Suite 19 
Lakewood, CA 90712 

PHONE (213) 920-8809 



CIRCLE #104 ON READER SERVICE CARD 



CIRCLE #105 ON READER SERVICE CARD 



PAGE 8 



ANALOG COMPUTING 



ISSUE 29 



^ 



LEARN TO PROGRAM 

GRAPHICS. GAMES & SOUND EFFECTS! 



NOW SOLD DIRECTLY TO YOU 
AT DISTRIBUTOR PRICES 

LIMITED EDITION BOOK MANUSCRIPTS 

Due lo a publisher's change of plans, we otier you two books we 
have written, in their manuscript form. Each comes lo you as a 
limited, hand numbered edition of over 200 pages, with a compitti 
dlik full of lottwirt examples, editors, and assembly language 
tools useable by anyone. They are written using BASIC, but the 
material is easily translated to other languages. 
ARCADE STYLE GRAPHICS: Many books teach you how to draw a 
tew circles or charts. In this book we create a complete, animated 
picture, step by step. Starting with basic concepts, such as using 
keyboard characters for your graphics, the program adds new 
ideas to the screen one at a time, with many examples. The disk in- 
cluded has tools & editors lor character sets and drawing back- 
grounds. The only book on graphics you need ever buy. $39.95 
BASIC GAME DESIGN: A fascinating and complete look at how a 
designer creates an arcade game, step by step, IN BASIC! You will 
tiuild your own version of SPACE INVADERS, using the ideas ex- 
plained in the first book and adding Animation. Sound Effects, 
Game Logic, Scoring, and Special Effects The final game looks 
and plays jusi like the original in the arcades. The lull disk of soft- 
ware includes all examples and editors typed in lor you. $39.95 
THE MASTER MEMORY MAP: Over 65,000 copies of this fine 
reference have been sold. This book has EVERYTHING you could 
want to l<now about the machine with 50 sample programs you can 
type in It goes through each memory location, tells you what it 
does, and what you can change to control the machine yourself, 
even it you don't program. Specify ATARI. C-64. VIC 20. or IBM 
PC. $15,95. ATAH) 40 page reference version costs $6.95. All of 
the examples already typed in on a disk costs $9.95. 

TRICKY TUTORIALS (Im) TO HELP YOU PROGRAM 
Each program in this series comes with a disk (32K) or tape (16K). 
and a manual up lo 66 pages They are written in a friendly manner 
to be used by beginners or experts alike Over 50,000 sold with 
many high rated reviews! 

#1 DISPLAY LISTS— Learn to create your own graphics & lex! 
modes $9.95, fl SCROLLING-Explains how to move the 
screen you see over maps of graphics or text $9,95, #3 PAGE 
FLIPPING— Change the entire screen instantly to another display 
picture $9,95. #4 BEGINNING ANIMATION-Learn to create the 
Illusion of movement using simple shapes $9.95. 15 PLAYER 
MISSILE GRAPHICS— Create your own PACMAN lype game while 
learning aboul Collisions, backgrounds. Players, scoring, and 
more Our best seller $14.95. jffi SOUND & MUSIC-Learn a 
simple way lo write music and sound elfecls on your computer 
$14,95. #7 DISK UTILITIES-Seven disk tools, FORIvlATER, IN- 
SPECTOR. AUTORUN SYS MAKER, RPIVl CHECKER. I^ENU 
MAKER. DIRECTORY PRINTER. & FILES TUTORIAL $14.95. #B 

OUR HEUEST PRODUCTS 

FRon COnPUTERS HADE SinPLE! 

CHARACTER GRAPHICS-Change letter shapes into anything you 
wish Includes an editor that makes creating and animating the 
shapes easy, and a linker that actually writes BASIC code A com- 
plete game is included as an example $14.95, jW GTIA 
GRAPHICS-Use graphics modes 9 lo 11 to create 3-D shapes, 
place 16 colors on the screen al once, and even digitize pictures 
using these new modes Includes a 9 color picture editor similar lo 
the ■painter" programs and ■'Pads' thai others sell. $14.95. 

#10 SOUND EFFECTS-30 Simple sound effects like lazers.and' 
bombs, an effects editor, explanation how.U) combine sounds and 
graphics, and 16t-fiiisounds lor extended range $14.95. #11 
MFMORY M)0> TUTOmAL-Examples how lb conlrol the cursor, 
text wmdows. user keys, joysticks and paddles, labs, inverse 
video, upside down letlenng, break key protection, and 25 more 
$14.95, #12 THE S.A.M. TUTORIAL-Usmg your )oysllck, you 
can learn to make Software Automated Mouth sing, change the 
sound of the voice, add graphics, explore phonemes, and even 
change inflections $14,95. #13 BASIC TOOLS-lncludes the 
following tools thai add themselves to Atari BASIC RENUMBER. 
DELETE. TRACE. EXPAND lakes programs with many slatemenis 
per line and breaks (hem up to make the program easy lo read, 
QUICKREF lells you the lines & numbers where all of the variables 
and constants are used, LISTER prints out your programs, in- 
cluding all of Ihe special characters that you see on the screen (like 
hearts and diamonds] $14,95, #14 ADVANCED PROGRAMMING 
TOOLS-Machme language tools we use to write our commercial 
programs useable Irom BASIC or Assemtily Tools for PLAYER 
MISSILE MOVEMENT, TIME DELAYS, SOUND EFFECTS, PAGE 
FLIPPING, MEMORY MOVEMENT. SPECIAL CHARACTER FONTS, 
and save FULL GRAPHICS SCREENS (1/10) in seconds. DISK ON- 
LY $14,95, #15 FANCY FONTS-lncludes many sample fonts, 
an editor, and adds a new set of sub routines ihal you can calf to 
creale great displays Loadj^he fonts you create into your EPSON 
FX 80 or 10_0 qon*ptr1e^ print oul Ihe fonts on-^WY printer as you 
creale^lhei^ $14.95, 

We also oiler 4 arcaoe--games, 8 childrens educdiional programs, 
and 9 olhers, aU -priced under $15. lor 16K TAPE or 32K DISK! 
SEND A Saf-ADDRESSED STAMPED ENVELOPE FOR A COM- 
PLETE AWRI CATALOG 



M jneyback guarantee If unsatisfied!! 
ORDER BY CHECK, VISA. IM/C. OR C.O.D. 

ADO S3.00 SHIPPING. ADD S2.00 lor C.O.D. OR 15% FOREIGN 

COMPUTERS MADE SIMPLE! 

1974 Suck St., Eugene. OR 97405 

(503) 344-2767 



/; CIRCLE #106 ON READER SERVICE CARD 



Second, cnnimerdal programs are 
usually already made with short inter' 
record gaps, making Cassette Com' 
pressor unnecessary. — Ed. 

Problem solvers. 

I have a problem with my Bopo- 
tron! program. The platforms don't 
show up in any color at all, and 
they only move once in one di- 
rection. 

Second, there is a problem with 
my Robot Raid program. When- 
ever I pass the final mission and try 
to take the next screen, it gives me 
an ERROR HI at Line 230. What 
is wrong? Can it be fixed? 

Third, my Unicheck program 
won't run in its AUTORUN. SYS 
file on disk. I have even tried put- 
ting the FMS.SYS file on the disk 



with it, but this does not work, 
either. Something is wrong, but I 
can't figure out what it is. 

Sincerely, 

Troy Goodson 

Charleston, SC 

Bopotron! and Unicheck both 
work fine as listed, and the problems 
you have experienced are most likely 
errors made typing them in. 

Robot Raid simply runs out of 
DATA for its screens after the third 
level. The following lines correct this 
problem, repeating the third level. 

860 LU=LM-II2:LEWEL=LEWELHH 

2: IF LEgEL>60 THEM LEUEL^L 

EMEL-12:LW=LV+N2 

865 RESTORE 19e78+LEVEL:F0 

R I=N1 TO 48: READ A: MAP CI) 

=A:NEKT I 

-Ed. 



For Subscribers Only. . . 

If you're a subscriber to ANALOG Computing, from time to 
time you'll notice that we will have a bonus bound into our 
pages. This is one of those times. You'll find the ANALOG Com- 
puting Reference Card bound in the center of this issue. To use 
the card, pull it out and fold it on the score lines. We think you'll 
find it quite a convenience. 

Nonsubscribers — want your own reference card? You can order 
copies directly from us for $7.95 each. Send your check to: 

ANALQO Cjom^ting^ > 

;. ._RP--6pxi3r'^!&fcester, MA 01610 

Better ■etitl, subscribe today. 



r^ 




CIRCLE #107 ON READER SERVICE CARD 



LOGO 




by 



AIDE 

BARRY A. HOGiijND 

REPRODUCEABIjE 
$$SAVE$$ \ 

{LCSI VERSION FOR ATARI COMPUTERS) "'= 

PARENTSI STUDENTS! USERS GROUPS!^ 
A BOOK WRITTEN BY A TEACHER, 
FOR TEACHERS, IS NOW AVAILABLE ' 

TO THE PUBLIC. 

LOGO AIDE Is directed toward ATARI users 
with limited experience In LOGO. The content Is 
•^"^ highly structured and easy lo use. Topics such 
as Initial Primitives, Multiple Turtles. Writing 
Procedures, Shape Editing, Using Variables, and 
Project Planning are addressed. Materials 
Include teaching aides, quick reference charts 
and large graphics. Ail explanations are well V' 

organized, clearly stated and (un! ^ 

The author has granted dupllcalion rights toe 
all parts of the book that are used with the 
purchaser's students or users group. ^ 

LOGO AIDE Is equally suitable for the K^ 
teacher with one computer and limited timi. The 
G-8 teacher In a lab selling, the In-service wacher 
or college Instructor with computer literacy^ 
responslbllitleB. and Parents . Students , and tJser 
Groups. \ 



MAIL CHECK on MbMEV ORDER TO 
AUGUST PUBLICATIONS 
PC BOX 67 -.. 

SAN RAFAEL CA 9^915 '"-v 



'COPIES PRICE 



EXPIRATION DATE . 

SIGNATURE 

ADDRESS 



^ 



=5,. 



CIRCLE #108 ON READEJI^ERVICE CARD 



m 



ISSUE 29 



ANALOG COMPUTING 



PAGE 9 



Griffin^s 
Lair 

Educational 
Programs 
Revieiv ^ 



,r-^' 




by Braden E. Griffin, M.D. 



How many ways are there to develop mathematical 
skills with educational software? Not many. Some of 
us fall into the same trap with educational software 
that we do with game programs. After the first few 
embellishments of an original concept, the "rip-offs" 
become so widespread and indistinguishable that they 
are often ignored. 

The "classics" sell because of a unique combination 
of originality and presentation. Having played a Lode 
Runner, Jumpman or Miner 2049er, one seldom adds 
similar games to one's collection. 

Occasionally, an unusually imaginative presentation 
of an erstwhile game model will be successful. This 
results from either a strikingly innovative approach 
to the design features or clever, inventive program- 
ming techniques which enhance the original. Elec- 
tronic Arts' One on One is an excellent example of 
how masterful programming can successfully revive 
an old idea. 

It's difficult to be original with the objectives of ed- 
ucational software, particularly in the area of mathe- 
matics. The subject matter is pretty standard, and the 
solutions are rarely creative. The appeal of most math 
programs rests on their presentation and the ability 
to initiate an interaction and sustain the interest of 
the user. 



Sparkling graphics should be accompanied by a 
sound, objective approach to the learning process. 
Market-conscious software producers may place greater 
emphasis on the flash and less on the flesh, in order 
to attract the buyer. In Texas, they call this "all hat 
and no cattle. . .y'all." This month's hill of beans, if 
it amounts to that, offers some resourceful means to 
mastering mathematics. 

MATH MAGIC 
BLAKMAGIC SOFTWARE 
3720 Broadmoor 
Beaumont, TX 77707 
48K Disk (BASIC) $29.95 

The development of math skills requires a solid 
foundation in arithmetic. This foundation results from 
the memorization of countless number facts. ("Count- 
less numbers". . . is that an oxymoron?) 

Sure, there is proof that 6x5 = 30, but this fact— 
and many others — must be rapidly accessed from mem- 
ory for practical application. Flash card drills are fre- 
quently used to augment this process. Although basi- 
cally a video flash card game. Math Magic injects a 
little incentive and fun into this usually tedious task. 

From one to six players may participate in the com- 



PAGE 10 



ANALOG COMPUTING 



ISSUE 29 



petition. In addition to the four basic arithmetic oper- 
ations, problems deahng with powers, roots, fractions 
and decimals are included. A problem is presented 
on the screen, and if the correct answer is entered, 
100 points are scored, eliciting a cheer and a musical 
salute from a venerable wizard. 

An incorrect response occasions the appearance of 
Reggie the Robot, who unceremoniously crushes the 
numbers into rubble and kicks them off the screen, 
with the loss of 50 points in the process. If no fur- 
ther attempts are desired, pressing the Q key displays 
the correct solution — with the loss of an additional 
125 points. 




-m ■ 



2:^ 




Math Magic. 

The feature which distinguishes Math Magic from 
other, similar offerings is the ability to handicap each 
individual. With a handicapping scale from to 999, 
elementary age children can successfully compete with 
high school students and adults. 

Also, one may select the largest number to be used 
in the problems. This number will apply to the indi- 
vidual with the lowest handicap, all others being ad- 
justed accordingly. There is a limited range for the 
different operations: addition and subtraction - 1 to 
999,999; multiplication and division - 1 to 9,999; frac- 
tions - 1 to 99; and powers and roots - to 9 for the 
mantissa. 

One has the option of using whole numbers or frac- 
tions (or decimals) when working with the four basic 
operations. A random option allows the computer to 
choose the type of problem. 

The problems can be displayed in a standard or 
linear format. The answers are entered from the key- 
board in a left-to-right fashion. No problem, if one 
is multiplying 6x3. However, if the problem is 3264 
x8964, the final answer of 29,258,496 must be en- 
tered from left to right, requiring more than just a 
little thought. 

One does not perform the operation on the screen, 
with the initial four products in the example given 



being added together. This program is not designed 
to promote process skills. Instead, it encourages an 
individual to solve problems "in his or her head" (or 
"heads". . .sorry about that, Zaphod). 

Enjoyable music and graphic enhancements add the 
right amount of frills to complete the package. The 
support of fractions, decimals, powers and roots, and 
the inclusion of the handicapping feature set this 
product apart from similar programs. Math Magic is 
a solid offering in the educational software market. 

MATH MILEAGE 

CBS SOFTWARE 

A Unit of CBS Inc. 

Greenwich, CT 06836 

16K Cartridge Joystick $29.95 

Math Mileage sounds like a program which teaches 
the calculation of fuel efficiency. Wrong, STP-breath. 
This is a game where up to four players wend their 
way through a race course, using basic math skills in 
addition and multiplication. Quick thinking is needed 
to beat the competition. 

As the game begins, a randomly selected goal (num- 
ber) is displayed while the players are sitting at the 
starting line, engines revving. Using a joystick, a for- 
mula race car (I get it!) is driven along a course com- 
posed of numerous forks. Over each branch of a fork, 
a mathematical operation is displayed. 

The object is to accumulate points at each cross- 
road and, eventually, reach one's goal. Let's assume 
there is a goal of 168. Approaching the first fork, one 
sees the operation X 4 over one branch and + 8 over 
the other. (Once each course is begun, the two oper- 
ations stay the same.) 



^D&ITION 



1 JOEY 



-50 



369 
+ 381 



748? 

HRONG JOEY 
PRESS Q TO GIUE UP 



Math Mileage. 

Starting with points, the first choice is to go to 
the +8 branch. Now the fun begins. One's goal will 
always be reached no matter which branch is taken, 
but the challenge is to do it by taking the fewest num- 
ber of forks. It might seem the best course is to get 



ISSUE 29 



ANALOG COMPUTING 



PAGE 11 



as high a number as soon as possible, but that may 
be deceiving. 

In our example, if one were to take the X 4 branch 
second, the total would be 32. If the x4 route is again 
taken, a total of 128 is scored, and only by taking five 
consecutive + 8 branches will the goal be reached. 

However, if after totaling 32 points, the + 8 branch 
is chosen (40 points), then the x-4 (160) and finally, 
the + 8 branch (168), three fewer forks would be taken. 
If it sounds complicated, the fault lies with my expla- 
nation, not the game. Under my picture in the high 
school yearbook, it says, "He has the ability to put 
the minimum amount of thought into the maximum 
amount of words." Enough said. 

Three skill levels allow the user to increase the dif- 
ficulty as desired. At level 1, players have the choice 
between only two operations, + J and + 10. Although 
little strategy is involved, this serves to emphasize the 
understanding of place value. 

Levels 2 and 3 offer the choice between one addi- 
tion and one multiplication operation. Level 2 always 
uses + 10 for the addition branch, while it is randomly 
selected from between +2 and +9 in level 3. Both 
levels randomly select the multiplication operation 
from between x2 and x5. 

Along the course flagmen appear, warning of "haz- 
ardous road conditions." The different flag colors alert 
one to whether either branch may be taken without 
overshooting the goal (green), one of the two branches 
will cause one to overshoot the goal (yellow), or if 
one has already overshot the goal (red). 

As each branch of a fork is taken, the car breaks 
through a billboard showing the accumulated total 
score to that point. A night driving option is avail- 
able, doubling the point value, in which the billboards 
don't show the total. In this case, the total must be 
kept in one's head. . .or kidney. . .or chewing gum 
wrapper. 

At the end of the race, a scoring summary is dis- 
played. This shows the number of forks taken and the 
time used for the race just completed, the fewest num- 
ber of forks that could be taken to reach the goal, 
and previous race statistics for the course. Each race 
must be run twice before a new one is attempted. This 
reinforces the operations involved. A straightforward 
game play manual and handy reference card provide 
the necessary documentation. 

I have reviewed several products from the CBS Soft- 
ware line and found them to be of uniformly high qual- 
ity. Polished graphics and well-founded educational 
objectives are partly responsible. Most importantly, 
their products are designed for children to play, and 
for children to learn. They're not designed to make 
adults, who spend the $$, think that they're educa- 
tional. 

Complicated, sophisticated, mind-expanding (and 
boggling) educational software may overwhelm young 
children. CBS Software knows kids. You have to crawl 



before you walk. In this case. Math Mileage's race car 
provides first-class transportation. 

PLAYFUL PROFESSOR 

SCREENPLAY 

Intelligent Statements, Inc. 

Box 3558 

Chapel Hill, NC 27514 

48K Disk or Cassette Joystick optional 

If limited to just one educational program in my 
collection, this would be it. I'm including all educa- 
tional software, regardless of the subject matter. 

Playful Professor is an exceptionally well-designed 
math tutor which will help develop proficiency in the 
four basic arithmetic operations. Unlike many math 
programs, it not only provides practice of math facts, 
it teaches them. (Read the previous sentence aloud, 
using your best John Houseman imitation.) And, un- 
like conventional tutorials, it's fun. All the necessary 
math skills required through the first six grades of 
school are encompassed in this program. 



JJiJ_ 
6 h'h 



THEH ADD OR SU&TRhCT 
NUMER.HT0R3. 
THEN REDUCE THE PRODUCT. 



Playful Professor. 

Playful Professor contains features which enable 
two players to compete, each with the ability to select 
his or her own operation and level of difficulty. For 
each arithmetic operation, there are four skill levels 
when dealing with whole numbers (integers) and three 
levels of difficulty using fractions. 

After the selection process is complete, the first 
problem is displayed on the screen. When solving 
questions using integers, the problem is worked out 
on the screen in the same manner as one would with 
paper and pencil. (Everyone, together now. . ."1 brought 
my pencil. . .Gimme something to write on, man.") 

As soon as the computer accepts as many numbers 
as it "knows" it should get, it places a flashing ? at 
the appropriate place for the next step. For example, 
if presented with a multiplication example, each prod- 
uct would be entered below the problem from right 
to left. The number in the "ones" column is entered 



PAGE 12 



ANALOG COMPUTING 



ISSUE 29 



first, then the "tens" column, etc. When all of the 
products have been entered, a line is drawn beneath 
them, and the products are entered in the usual fash- 
ion for the final answer. Problems involving fractions 
require only the final result, the solution being arrived 
at without the use of the display screen. 

The tutorial portion of Playful Professor takes over 
only if one fails to correctly solve the problem. Ideally, 
if a student cannot solve a problem in the classroom, 
the teacher will work it through with a step-by-step 
explanation. In reality, many students are hesitant to 
acknowledge their lack of understanding in front of 
the entire class. 

They just plod along, never fully comprehending 
the material, putting themselves further and further 
behind. As the years go by, they move on to more 
complex problems, and the ability to perform the basic 
math skills is taken for granted. Eventually, they be- 
come overwhelmed and, after a period of "hanging 
on," totally lose interest. 

This is not an unusual scenario. More often than 
not, this pattern goes unrecognized until it's too late. 
Children learn very early that parents like to hear 
only good things — particularly, busy parents. If a child 




Don't be caught suprised at tax time. Know 
exactly what your taxes will be all year long. EDU-TAX 
is a menu driven program with extensive on screen 
explanations. EDU-TAX includes these schedules 
and forms: 

Form 1040 

Schedule A — Itemized Deductions 

Schedule B — Interest/Dividends 

Schedule C — Business Income 

Schedule D — Capital Gains/Losses 

Schedule E — Supplemental Income 

Schedule G — Income Averaging 

Schedule W— Marital Deductions 

Form 2106 — Unreimbursed Employee Expense 

Form 2119 — Sales of Residence 

Form 4684 — Casualties and Theft Losses 

EDU-TAX is currently 50% off the suggested retail 
price of $50.00. EDU-TAX is now only $25.00 plus 
$2.00 for shipping and handling. Direct only. 




EDU-TAX 

P.O. Box 16785 
San Antonio, TX 78216 



CHECK 

OR 
MONEY 
ORDER 



Texas Residents add 5%. 
Commodore 64-Disk — Atari 48K-Disk 



CIRCLE #109 ON READER SERVICE CARD 



admits to having difficulty in school, parents are not 
only disappointed, but usually respond with a haran- 
gue about lack of study, too much TV or some other 
extraneous reason, not recognizing that the problem 
goes much deeper. 

All the study time in the world won't help if the 
child doesn't have a grasp of the fundamentals. Con- 
cerned parents may be able to help their children by 
working with them at home. However, most parents 
aren't teachers, and the frustration of trying to teach 
what "comes naturally" ends up in a shouting match. 

Outside tutors are fine but expensive. Of course, 
one solution is to assume the child is incapable of 
functioning above the level of the brain stem, and 
just give up. . .in which case, he will either become 
a urologist or a Republican member of the Senate. 
(The use of the masculine gender in the preceding 
sentence was intentional. Only rarely does the female 
of our species sink to such depths.) But I digress. 

Using a computer-generated chalk and blackboard, 
the Professor illustrates the correct solution to the 
problems which have been missed. In the beginning 
levels, jelly beans are used to demonstrate the under- 
lying principles. The essential rules governing each 
operation are also displayed. This promotes an under- 
standing of the material, not just memorization. 

A simple, common sense approach is used. It's also 
nonjudgmental. If the child makes the same mistake 
again, the computer doesn't say, "I just showed you 
how to do that. Weren't you listening?" 

The section on fractions is particularly well done, 
and a little time spent here with the Professor will 
go a long way toward mastery of this frequently for- 
midable foe. It's not surprising that many children have 
difficulty with fractions, especially after parents try 
to explain them. The only LCD dad knows about is 
in his watch. Mom thinks LCD is some kind of hal- 
lucinogen, but she never listens very carefully, anyway. 

That's the beef. Where's the relish? Well, it's inside 
a haunted castle. The player is trapped inside this 
spooky citadel and must steal the key from a resident 
ghost to escape. Able to enter only lighted rooms, the 
ghost must be stalked from room to room. 

With each move, a mysterious wind blows through 
the castle, turning various lights on and off. The player 
is awarded two moves for each correct answer, or a 
single move in the case effraction problems answered 
correctly but not reduced to the lowest terms. Though 
simple, the game is enjoyable and exciting, especial- 
ly when two players vie to exit the castle first. 

An extremely thorough manual with an extensive 
and coherent mathematics review is included. Sure 
to maintain the interest of children, this program is 
a "keeper." Kids, don't be surprised if dad and mom 
get caught brushing up on their "Rithmetic," as well. 
This is the first in a series of educational games from 
Screenplay. If the others are as good as Playful Profes- 
sor, keep 'em coming. D 



ISSUE 29 



ANALOG COMPUTING 



PAGE 13 



Ask 

Mr. 

Forth 




by Donald Forbes 



A short list or array of numbers can make an inter- 
esting game, as well as an instructive FORTH demo. 

Many of us met FORTH arrays for the first time 
on page 196 of Leo Brodie's first book, Starting Forth, 
in which he has a lab with five burners to heat vari- 
ous kinds of liquids. Here, "we can make our word 
?TOO'HOT check that all five burners have not ex- 
ceeded their individual limit." 

He defines the five limits with: 

8 VARIABLE LIHITS 8 ALLOT 

which sets up five slots for the array, and then stores 
a number in the first one with: 

220 LIMITS ! 

and the second one with: 

348 LIMITS 2 + ! 
and then defines a new word: 

: LIMIT 2« LIMITS + ; 

to take the burner number off the stack and store a 
limiting temperature for the third burner with: 

178 2 LIMIT ! 

Brodie then defines a new word: 

: 7T00.H0T f burnertt tewp — J 
LIMIT e > IF 
." Danger - reduce heat ■■ THEM ; 

which works like this: 



388 1 ?TOO.HOT Ok 
358 1 ?TOO.HOT 
Danger - reduce heat 



ok 



Kevin McCabe, the Chicago lawyer who wrote Forth 
Fundamentals (the most complete explanation to date 
of fig-FORTH), also shows (page 119) how to set up 
an array with four locations with: 

12 VARIABLE GROUP 
24 , 48 , 96 , 

and an auxiliary word: 

: GETGROUP 2* GROUP * G ; 

that will retrieve any member of the array with: 



8 GETGROUP 
3 GETGROUP 



12 Ok 
96 Ok 



In both cases, the count starts at zero and there is 
no checking for errors. 

"As an exercise in array manipulation," M.P. Burton 
composed a public domain FORTH version of the 
number game Reverse, which was published in Forth 
Dimensions magazine for January 1982 . The object of 
the game is to arrange a list of numbers (1 through 
9) in ascending order from left to right. Moves are 
made by reversing a subset of the list (from the left). 
The original game was written in BASIC almost ten 
years ago by Peter Sessions of People's Computer Com- 
pany, a nonprofit educational corporation in San Ra- 
mon, California. 



PAGE 14 



ANALOG COMPUTING 



ISSUE 29 



Our first screen spells out the object of the game. 

SCR tt 1 

: OBJECT ." The object of the " 
." gane is" CR ." to arrange a" 
." randoH list" CR ." of nine" 
." nunbers into ascend-" CR 
." ing nuHerical order in" CR 
." as few HDves as possible" CR 
." by reversing a subset of " 
CR ." the list. For exanple, " 
CR ." given the randoH list, " 
CR." 524873916" 
CR ." reversing a subset of 4 " 
CR ." would yield the list, " 
CR." 842573916" 
CR ." To finish the gane, " 
CR ." siMply reverse " ; ;5 

We also need a flag to tell whether the player wants 
to continue. The handy word Y/N (which can be used 
in many games) asks for an input string from the con- 
sole, which is stored in PAD, the location of the first 
byte of the scratchpad area that moves upward as the 
dictionary expands. An upper case or lower case Y 
returns a true flag. 

: v/H c c ~ flag J 

PAD 88 EXPECT PAD CC CR CR 
95 AHD 89 = ; 

Now we can ask the player at the beginning whe- 
ther he wants instructions for the game, and at the 



PARTS/SERVICE FOR ATARI* COMPUTERS 

ORIGINAL FACTORY PARTS 

UPGRADE TO GTIA. 48K AND REV. B OPERATING SYSTEM 
CUSTOM 810 DISK DRIVES. . .$215,00 



INTEGRATED 
CIRCUITS 

GTIA Chip, . ,0014805 

upgrade with instructions $11,50 

10K Rev, B OS Upgrade. . ,for 400/800 
3-Chip ROM set with instructions, , , ,$12,50 

Pokey Chip. . ,0012294 $8.50 

Antic Chip . . .C01229S $10.50 

PiA Chip . . .C014795 $11.00 

Basic ROM set $15.00 

CPU Chip. . COMBOS $12.50 

MODULES/CIRCUIT 

BOARDS. . .complete with IC's 

16K RAM Memory Module, . , 

CX853 $24.50 

800 10K Rev. B OS Module $18.50 

800/400 CPU Board with GTIA $24.50 

800 Main Board $28.50 

400 Main Board $26.50 

400 Main Board w/o ICs $8.50 

800 Power Supply Board $10.50 

810 Data Separator Board. . . 

upgrade with instructions $25.00 

810 Side Board w/o Sep. & 1771 $43.50 

810 Rear Power Board $25.00 

810 Analog Board $16.00 



REPLACEMENT/ 
BACKUP 
BOARD SETS. 

800... OK $72.50 

e00...48K $122.50 

400... OK $52.50 

810 Board Set $110.00 

All Boards complete with iCs, etc. 
Keyboards not included. 



MISC. 

810 Rear Board/Analog Board Upgrade. . . 

with 10-pin jumper 

and instructions $39.50 

Editor Assembler $25.00 

BASIC Cartridge. . . 

w/o Case, Manual $23.50 

Cartridge Circuit Boards $3.50 

Non-Atari" Cartridge Boards $1.50 

Replacement 810 Drive Mech $85.00 

Replacement Power Transformer . . . .$16.50 

SAMS Service Manual 

for 800 or 400 $1750 ea. 



AMERICAN TV 

415-352-3787 

Mail Order Address 15338 Inverness St., San Leandro, CA 94579 

Retail Store 1988 Washington Avenue, San LeancJro, CA 94577 

Terms: We accept money orders, personal checks or C.O.D.s. . .VISA, MasterCard okay on orders 
over S25.00, No personal checks on C.O.D. 

Shipping: $4.00 shipping and handling on orders under $150.00. Add $2.00 tor C.O.D. orders. Cali- 
fornia residents include 6V2% sales tax. Overseas shipping extra. 

Prices subject to change without notice. We reserve the right to limit quantities. Sales limited to 
stock on hand. AK, HI FPO-APO. add $5.00 on all orders. 

Much more/ Send SASE lor tree price list. 
Repair/upgrade services available. . .Call. "Atari is a registered trademark of Atari Corp. 



CIRCLE #110 ON READER SERVICE CARD 



end, whether he wants to play again. This code in- 
vokes the word OBJECT, if requested: 

: INSTRUCTIONS CR CR 10 SPACES 
." The gaHe of REVERSE" 
CR CR 

." Mould you like" 
." instructions?" 

V/N IF OBJECT THEN ; 

Our first task will be to set up a ten-number array, 
and then initialize it with the numbers ] to 9 (ele- 
ment will not be used). We can reserve an integer 
word array with: 

: DIM C n --J 
<BUILDS 

Creserve an integer word array) 
1+ 2 * ALLOT 
DOES> ; 

Defining words in FORTH execute by compiling 
new word definitions into the dictionary. Two exam- 
ples are CONSTANT and VARIABLE, which will 
store named single-precision numeric values. The far 
more powerful defining word ; (pronounced colon) per- 
mits compilation into the dictionary of word defini- 
tions using a "building block" approach. The word 
: (colon) uses ; (semicolon) as a terminating word. 
Later execution of a colon-defined word is equivalent 
to the execution of each of its building blocks. 

If you ever wondered about the choice of : and ; 
as FORTH words, this is the reason . . .When Charles 
Moore developed FORTH, he started out with: 

DEFINE: Nane soHething sonething END; 

but found it tiresome to keep typing DEFINE: and 
END; each time, so he shortened them to save him- 
self (and us!) many keystrokes. 

FORTH also allows you to create new high-level 
defining words. Such words may then be executed to 
create new classes of words, like numeric arrays or 
double-precision variables and constants. You will find 
a discussion of user-defining words in chapter eleven 
of Leo Brodie's Starting Forth. Remember, however, 
that he uses the series CREATE . . . DOES > . In fig- 
FORTH, this should be < BUILDS. . .DOES>. 

The word DIM, which we just created, is such a 
word. It's a defining word in the form n DIM xxxx, 
which looks for a number on the stack, and then pro- 
duces an n+I-length word array named xxxx, which 
we can then fill with elements through n. We do 
this with: 

9 DIM ARRAY 

which reserves a ten-word array. 

Now we need a word to store numbers in the array, 
which we can do with: 

: A! C store an array elenent 3 
c array-value index — J 
2 * ARRAY + ! ; 

We can then use a DO . . . LOOP to initialize our 
array with the numbers J to 9, in order: 

: AINIT f initialize the array) 
10 1 DO I DUP A! LOOP ; 



ISSUE 29 



ANALOG COMPUTING 



PAGE 15 



Just as we needed a word to store numbers in the 
array, we'll need words to fetch the array elements and 
to place them on the data stack — and, also, to print 
them. The fetch word, which looks like the store word 



is: 



AC C fetch an array elenent J 
2 * ARRAY + e ; 



and the print word becomes: 



A. 


C 


print 


the 


array J 


CR 


1 


■ The 1 


ist 


is 


now. 


CR 


6 


5PACE5 








10 


1 


DO 








I AG 


3 .R 








LOOP 


» 









To start the game, we must present the player with 
a scrambled list of numbers. Since the game was writ- 
ten in FORTH as an exercise in array manipulation, 
we are right in supposing that this code will be the 
heart of the game. Most games require a random nam- 
ber generator, and this one is no exception. 

VARIABLE SEED 

: RND ( randoH nuMber generator) 
C range — rndSt > 

5EED e 259 » 3 + 32767 AND 

DUP SEED ! 32767 »/ ; 

This is a pseudorandom number generator (there is 
a difference, as we'll see), courtesy oi Forth Dimensions. 
RND generates a number in the range through —1 
and is used to scramble the number list. 

: A5CRAH8LE C Mix UP array values} 



1 9 DO 
I RND 1+ 

I 
OVER 

I 



AC 
AC 
A! 



SNAP A ! 
-1 +LOOP 



calculate K 3 

get ARRAY CI) value) 

get ARRAY CK) value) 

store ARRAY fK) ) 

in ARRAY CI) ) 

store ARRAY CI) ) 

in ARRAY CK) ) 



The code, as you see, counts down the array from 
9 to 1 (0 is ignored) and uses RND to calculate a val- 
ue K, with which to swap each of the numbers into 
a different slot. 

Since the object of the game is to get the numbers 
in the right order (in effect, to neutralize or unscram- 
ble the results of ASCRAMBLE), we need a word 
which will check that ARRAY has been placed in 
the proper numerical order and, if so, will return a 
true flag. 

: ACHECK C ascending sequence? ) 
C — flag ) 
1 10 1 DO 
I DUP AC = AND 
LOOP ; 

This routine puts a 1 (or true flag) on the stack, 
which remains true (1 AND 1 equals 1) as long as 
each comparison is true, but switches to false (0 AND 
1 equals 0) if any one fails. 

Because Reverse is an interactive game, we need 
a way to get input from the player. We must solicit 
the number of elements in the list that he wants to 
reverse (which reminds me of page 1 of IBM's tutori- 
al manual on their computer SYSTEM/38: "This man- 



ual follows the convention that HE refers to HE or 
SHE"). The code features a continuous loop, so that, 
if the player enters any character other than through 
9, the program issues an error message and loops back 
to ask for another number. 

: GETIN C get aHOunt to reverse ) 
c — n ) 
BEGIN CR 

." Reverse how Many? " 
PAD 80 EXPECT PAD C 48 - 
DUP 0< OVER ? > OR DUP 
IF CR . .. 

." Only thru 9 allowed. " 
THEN 8= UNTIL CR ; 

You might notice that the ATASCII code for a 
is decimal 48, and for a 9 is decimal 57, so that we 
must subtract 48 from the ATASCII code to get the 
number we want. 

The other crucial part of the game (and the other 
exercise in array manipulation) is a routine to reverse 
a leftmost subset of the array, starting with element 
number 1. The code is similar to ASCRAMBLE, ex- 
cept that it rearranges a part of the array, instead of 
the complete array from 1 to 9. 

: AREVERSE c reverse a subset) 



DUP 2 / 

1+ 1 

DO DUP 

1-1+ 

DUP AC 

SNAP 

I AC 

SNAP 

A! 

I 

A! 

LOOP 



c n ~ ) 

c loop liHits are ) 

c 1 to i:n/23HH ) 

C calculate index ) 

c n-l+l ) 



get 

get 

store 

in 

store 

in 



ARRAY [n-I+lD 
ARRAYED ) 

ARRAYED ) 

ARRAY In-I+13) 
ARRAY ln-I+13) 
ARRAYED ) 



DROP 



We need two more pieces of the puzzle, then we're 
ready to put the game together. There is a variable: 
VARIABLE MOVES 

which keeps track of the number of reverses so far. 
We also need a keypress to start up the random num- 
ber generator, as follows: 

* SKEY CR 

." Please depress any key:" 
KEY SEED ! J 

Now we're ready for the game definition, which uses 
all the previously defined words, mostly in the order 
in which we defined them. 

: REVERSE c play the gaMe ) 

125 EMIT SKEY 
INSTRUCTIONS AINIT 
BEGIN 
ASCRAMBLE MOVES ! 
BEGIN 
A. GETIN DUP 0= 
IF 1 ELSE 
AREVERSE 1 MOVES +! 
ACHECK 
THEN 
UNTIL 
A. CR ." You Made " MOVES C . 
." reversals." CR CR 
." Care to play again? " 
Y/N 0= 
UNTIL 

CR ." Thanks for playing " 

." REVERSE. . ." CR CR ; ;5 



PAGE 16 



ANALOG COMPUTING 



ISSUE 29 



And there we have it. The code will fit in seven 
or eight screens without crowding. You can end each 
screen with a ;S (semi-S or stop), a fig-FORTH run- 
time procedure that's available for separate use, if need- 
ed (FORTH- 79 doesn't specify names for its run-time 
procedures, which are assumed to be inaccessible to 
the user). You can then load screens one at a time. 
If everything loads correctly, you can use a final screen 
(for example, screen 9) as a LOAD screen (] LOAD 
2 LOAD 3 LOAD 4 LOAD. . . ;S), so that 9 LOAD 
will load the entire game. 

How do you play the game to beat a competitor? 
Mostly by trial and error. There are three different 
strategies. According to Peter Sessions, there is the 
algorithmic approach and the heuristic approach. The 
first is to adopt the strategy of a computer program: 
move the 9 to the right, then the 8, etc. With two 
reversals for each of the nine numbers, that should 
never take more than eighteen moves. Burton's only 
comment about the game is: "If more than fifteen 
moves are made to win, you haven't got the hang of 
the game." 

The second approach is by rule of thumb, seeking 
to take advantage of partial orderings in the list. This 
is the way most people play. 

The third way, of course, is to "cheat." This isn't 
meant to advocate dishonesty, but merely to make sure 
ahead of time that, if one plays a game, one is famil- 
iar with the rules and plays by them. 

The rules aren't always what they seem. There's a 
story about Alan Mathison Turing (Ph.D., Prince- 
ton, 1939), the eccentric British mathematician, who 
worked as Britain's chief cryptographer and managed 
to crack the German cypher code during World War 
II, by building one of the earliest computers (the Ger- 
mans didn't find out until thirty years later). 

He wanted to become proficient with a rifle, so he 
enrolled in the wartime Home Guard. The form read: 
"Do you understand you place yourself liable to mili- 
tary law?" Turing, characteristically, answered no in- 
stead of yes. Once he became an excellent shot, he 
stopped attending parades. When the apoplectic col- 
onel called him to task, Turing said, "I am not a sol- 
dier. . .look at my form." He had been improperly 
enrolled. It was typical of Turing at all times to look 
for the optimal strategy. His life story in the new book 
by Andres Hodges, Alan Turing: The Enigma, reads 
like a classic Greek tragedy. Although he did more 
than any one man to win the war for Britain, he died 
unrecognized (a suicide) in 1954, at age 41. 

Notice that, in this game. Burton uses a pseudo- 
random number generator. These come in two flavors 
— those that repeat and those that don't. The repeat- 
ing ones are the most useful in scientific experiments. 
If you're running a computer simulation of, say, a gro- 
cery store, to find out how many shopping carts you 
need, and use random numbers to model the times 
between customers' arrivals, you want to be able to 



repeat the experiment for three, four and five check- 
out counters using exactly the same numbers. 

This game asks a keypress to seed the random num- 
ber generator. Most people, out of laziness, hit the 
SPACE BAR. The game will then keep churning out 
the same sequence of scrambled numbers each time 
it is called. Someone who took the trouble to work 
out the answers ahead of time would have a signifi- 
cant advantage. 

Of course, the number of possible lists is a large 
number. For example, the 9 can appear in any of nine 
slots, then the 8 in any of the remaining slots, and 
so on. The answer is 9 times 8 times 7 ■ . .times 1, or 
9 factorial (9!). You can work it out for yourself with 
a program something like this: 

: FACTORIAL 1+11 ROT ROT 
DO I » LOOP ; 

which gives us: 

7 FACTORIAL 5040 OK 

In this particular instance, however, we need some 
double-precision words: 

: 2SIIAP >R ROT ROT R> ROT ROT ; 

: PICK 2* SPC + e ; 

: ROLL DUP 1= IF DROP EL5E DUP 
1 DO 5MAP R> R> ROT >R >R >R 
LOOP 1 DO R> R> R> ROT ROT 
>R >R SNAP LOOP THEN ; 

: 5->D DUP e< HINU5 ; 

: 26 DUP 2+ 5HAP G ; 
: 2! SNAP OVER i 2* I I 
: D* OVER 5 PICK U« 6 ROLL 
4 ROLL » + 25MAP * * ; 

The new factorial program becomes: 

: 2VARIABLE 

<BUILD5 4 ALLOT DOES> ; 
1. 2VARIABLE PRODUCT 
: 2FACT0RIAL 1. PRODUCT 2! 1 + 

1 1 ROT ROT DO PRODUCT 26 

I 5->D D* PRODUCT 2! LOOP 

CR PRODUCT 26 D. ; 

which will then give us: 

3 2FACT0RIAL 362880 OK 

Poker players always ask for a new deck in the origi- 
nal wrapping, then look for markings on the backs 
by flipping the deck and riffling through the cards. 
We could accomplish something similar by swapping 
random number generators, of which there are several 
we can. choose from. 

This one appears on page 265 of Brodies book: 

1 VARIABLE RND HERE RND ! 
: RANDOH RND 6 31421 « 6927 

+ DUP RND ! ; 
: CHOOSE C Ul - U2 J 

RANDOH U* 5MAP DROP ; 

Alan Winfield's The Complete Forth, on page 113, 
has: 

e VARIABLE RND 1234 RND ■ 
: RANDOM RND 6 1621 * *X * 
DUP RND ! ; 

which places a new random number on the stack and 
which, he warns, repeats itself every 65535 numbers, 

(continued on page 18) 



AND NOW ASTRA HAS THREE 
MODELS FOR YOUR ATARI 

ASTRA 1620 

Our original single or double density dual disc drive. 
Two drives, for the price of one. 
(360 KBYTES) 

ASTRA 2001 

All of the features 

of the 1620, but 

with improved 

circuitry, rotary 

doors, and direct 

drive motors. 
(360 KBYTES) 

ASTRA 'BIG D" 

Double sided, single or double density, 
dual disk drive. 
(720 KBYTES) 

ALL DRIVES FURNISHED WITH 
SMARTDOS OR MYDOS * 

*DOUBLE SIDED DRIVES 

FOR NEAREST DEALER OR DISTRIBUTOR 
CALL (714) 549-2141 




>8^ 



flSTRfl SVST6MS 



2500 South Fairview 



• unit L • Santa Ana, Ca. 92704 

CIRCLE #111 ON READER SERVICE CARD 



PAGE 18 



ANALOG COMPUTING 



ISSUE 29 



$99.95 
$79.95 
$15.95 
$30.00 

$45.00 
$45.00 
$69.95 
$29.95 

but has the 



f \ 

ATARI UPGRADES 
FROM NEWELL INDUSTRIES 

FASTCHIP - ATARI 400/800 was $41.95 - Only $1 9.95 

A custom floating point ROM that increases the speed of the computer 
by as much as four times. It is directly pin compatible with the existing 
ROM. 

RAMROD - ATARI 800 was $189.95 - Only $1 29.95 
FEATURES: 

OSN operating system in EPROM, graphics modes 0-15, program- 
mable cassette baud rates, enhanced keyboard, cartridge control on 
power up, up to two operating systems on board, will accept standard 
roms. 

OMNIMON machine language nnonltor. 
Up to 1 6K of ROM for use at COOO. 
Up to 4K of RAM for use at COOO. 

RAMR0D2 W/O OMNIMON 

RAMRODS W/O OMNIMON AND OSN 

4K RAM (2716 compatible for use In RAMROD) 

4K OMNIVIEW ENHANCEMENT (80 COL) 

8KOMNIVIEW ENHANCEMENT (OMNIMON & 
OMNIVIEW) 

8K OMNIMON ENHANCEMENT 

8K OMNIDOS (RAMDOS & OMNIVIEW) 

MYDOS 3.x DISK OPERATING SYSTEM 
This disk operating system is compatible with 2.0S, 
serious user in mind. Supports all 5 1/4 & 8 inch drives. Single & 
double sided & density, 35, 40, 77, 80 tracks. Allows keyboard con- 
figuration of all drives. Duplicate with or without format, all or specified 
sectors. Initialize disk with or without format. Unlimited file names. 
Many more features. Uses less memory than 2.0S. This is a must for 
anyone with third party drives. 

ROMDOS 800 (For use in RAMROD or Equiv.) $39.95 

All the features of MYDOS in ROM. Gives you approx. 4K of extra 
RAM. 

SBM (Small Business Management) $99.95 

This system was developed to give the small business or retail store 
the tools to computerize their operations. SBM is an inventory control 
and point of sale program that also has other features such as mailing 
labels for accounts, purchase orders, Invoicing, and many more. Prints 
invoices, purchase orders, inventory, sales, account reports and 
more. 

CAPACITIES 

12 digit alpha-numeric part numbers (unlimited parts) 
Up to 1 500 accounts 
As many vendors as parts 

Reports 

Inventory- All, by vendor name, by product group, price list, at, or below 
reorder point, turn report. Inventory data Includes part number, 
description, product group, quantity on hand, cost, sale price, quantity 
on order, location, and much more. 
Sales- Daily, period, annual 
Accounts- All, outstanding or selected 

MAIL LABELS 

All, outstanding, or selected accounts 

SYSTEM REQUIREMENTS 
ATARI computer (40K RAM minimum) 
Basic XL 

Two disk drives (system will support 5 1/4" 40,80,160 track & 8" 
drives) 
Printer 

RAMROD XL -for 800 XL $119.95 

Allows the use of three different operating systems. Comes with 
OSNXL operating system (solves most incompatibility problems), 
FASTCHIP floating point routines, and OMNIMONXL in ROM. 

OMNIVIEWXL - (for RAMROD XL) $59.95 

Now get 80 columns with your 800XL. Compatible with UK products, 
BASIC, ATR 8000 In CPM, etc. Enter 80 column mode easily, just 
press console keys. 

Prices subject to change without notice. ATARI 400/800/1200 are 

trademarks of ATARI INC. 

TO ORDER: Send check or M.O. or call 214/423-1 781. COD orders 

add $1 .90. Orders under $25.00 add $2.00 shipping. Contact your nearest 

dealer or Newell Industries, 3340 Nottingham Ln., Piano, TX. 75074. 
(NO COLLECT CALLS) 

CIRCLE #112 ON READER SERVICE CARD 



(continued from page 16) 

"but that should be no problem here!" The follow- 
ing variation appears on page 65 of Forth Tools by An- 
derson and Tracy: 

e UARIABLE SEED 1234 SEED ! 
: RAND C -- n > 

SEED e 5421 » 1+ 

DUP SEED ! ; 
: RANDOM (ft — randoH nuHber 3 

RAND SNAP HOD ; 

The Atari hardware generates a true random num- 
ber at location 53770, which you can use like this: 
: RNDtt 53778 CG SNAP /MOD DROP ; 

or in the more elaborate version that appears on page 
41 of Ekkehard Floegel's book, Forth for the Atari: 

VARIABLE RND 53770 C RND * 
: RANDOM RND C 31421 * 6972 

* DUP RND ! ; 
: RNDtt C nl ~ n2 ) 

RANDOH ll« SMAP DROP ; 

You can sum it up for your audience this way. . . Play 
Reverse. Have fun! Check the keyboard and pick a 
key at random, instead of the SPACE BAR. Don't 
be lazy! □ 



WANT 

TO 

SUBSCRIBE? 



It's worth it. 



CALL TOLL FREE 
1-800-345-8112 

In Pennsylvania 

1-800-662-2444 



ISSUE 29 



ANALOG COMPUTING 



PAGE 19 




16K Cassette or Disk, 2.0S DOS 
by Angelo Giambra 

Like humans, computers sometimes become senile. 
That is, they lose their ability to remember things ac- 
curately. This happens when the random access mem- 
ory (RAM) becomes faulty. The symptoms can range 
from programs merely producing strange, unpredic- 
table results to total system lockup. 

How can you tell if all the RAM in your system 
is good? 1 haven't seen any programs on the market 
which will give it a thorough workout. Well, now 
there's RAMCHECK. 

If you have a disk system, key in the program in 
Listing 1 and SAVE it to disk. If you use a cassette 
recorder, key in Listing 2 and SAVE it to cassette. 
When you RUN the program, the DATA statements 
will be checked for accuracy. If you're a disk user, read 
the next paragraph. Otherwise, skip ahead to the para- 
graph for cassette users. 

Disk users. 

If there are no errors, a machine language file called 
RAMCHECK will be created on your disk. Here's 
how to use it. 







A memory test 
==^= for youF 



Atari compute^ 



Remove any cartridges and boot your system from 
disk. Now load RAMCHECK into memory If you 
are using Atari 2. OS DOS, use the L option. If you 
have DOSXL, key in LOAD RAMCHECK. Skip 
the next paragraph and read on. 

Cassette users. 
If there are no errors, the RAMCHECK program 
will be POKEd into memory and executed immedi- 
ately Since this version executes with the BASIC car- 
tridge present, the upper 8K of RAM cannot be tested 
on a 48K system, because BASIC occupies these ad- 
dresses. 

How it works. 

Your screen will begin to cycle through various 
colors as RAMCHECK starts at low memory and 
works its way up to high memory, checking every ad- 
dress for data integrity. At each memory location, 
RAMCHECK stores, then reads all the values from 
to 255. If the value read matches the value stored, 
the test continues; otherwise RAMCHECK clears 
the screen and prints: 



PAGE 20 



ANALOG COMPUTING 



ISSUE 29 



RAN ERROR AT ADDRESS <address> 

If there are no errors, RAMCHECK jumps to the 
system warmstart routine, and you are returned to 
DOS or BASIC. 

RAMCHECK performs a non-destructive test of 
memory. That is, after each memory address has been 
checked, the contents of that address are restored to 
their original value. 

Interestingly, RAMCHECK must check the very 
memory addresses where it resides — while running. 
When testing reaches this section, RAMCHECK 
moves itself into lower memory, where testing has been 
completed, and proceeds. 

Go to it! 

As RAMCHECK runs, you can get an idea of the 
incredible speed of machine language programs. Con- 
sider this: on a 48K machine, 12,582,656 separate tests 
are performed (256 tests per memory address). As you 
watch the screen, colors will vary in luminance from 
dark to bright. Each time the luminance changes, it 
means 512 memory bytes have been tested. Each time 
the hue changes, 4K of memory has been tested. BA- 
SIC would take hours to do this test. 

RAMCHECK will determine the size of your mem- 
ory when it loads, by checking the RAMTOP register. 
That's why disk users must remove any cartridges. On 
a 48K system, the OS points the RAMTOP register 
to just below the starting address of any cartridges 
resident. 

1 hope your system never suffers from senility, but 
if it does, RAMCHECK will diagnose the problem 
right away! D 

Listing 1. 



10 REM KMKICKKKKKKMKKM 
20 REN * RAMCHECK * 
38 REM » by » 
40 REM * A. Gianbra » 

50 REN KMKKKKMKKICKMKM 

66 DATA 8,1,2,3,4,5,6,7,8,9,0,0,0,0,0, 

8,0,10,11,12,13,14,15 

70 DIN DATS 06J, HEM 122} : FOR X=8 TO 22: 

READ N : HEX CX)=N: NEXT X :LINE=190 :RESTOR 

E 20e:TRAP 150:? "HCHECKIMG DATA" 

80 T0TAL=8:LIHE=LIHE+10: POSITION 2,2:? 

"LIME:"; LINE: READ DATS: IF LENCDATSJO 
96 THEN 188 

90 DATLIN=PEEKC183}+PEEKC184J»256:IF D 
ATLINOLINE THEN ? "LINE ";LIHE;" N1S5 
ING!":END 

100 FOR X=l TO LENCDATS3-1 STEP 2 : D1=A 
SC tDATS tX) 3 -48 : D2=ASC CDATS tX+13 J -48 : BY 
TE=HEX {D1}«16+HEX CD23 

110 IF PASS=2 THEN PUT ttl, BYTE : NEXT X: 
READ CHKSUN:GOTO SO 

128 T0TAL=T0TAL+HEXCD1J+HEXCD23 :NEXT X 
138 READ CHKSUN:IF TOTAL=CHKSUH THEN 8 
8 

148 G8T0 180 

150 IF PEEKC195J06 AND PEEKC195)<>5 T 
HEN 188 

160 IF PASS=0 THEN OPEN ttl,8, 0, "D: RAMC 
HECK" : PASS=2 : LINE=19e : RESTORE 200 : TRAP 

170:? "HCREATING FILE": GOTO 80 
170 CLOSE ttl: END 

188 IF LEN(DATS}=78 AND LINE=258 THEN 
TRAP 160: GOTO 90 
190 ? "BAD DATA: LINE ";LINE:END 



200 DATA FFFF0e387D3078A988AA9De8D09D8 

eD29D00D39D00D4E8DeF1858e8581A002A5018 

DlADeB10e48A980189188D188F8e5 , 536 

218 DATA 84CD4C88066901DQF1689ie8C8D0E 

5E601A501C930D0D8A98085CBA92C85CCA9198 

5CDA93885CEA828B1CD91CB8818F9 , 659 

220 DATA A025A56A91CBC8C8C8A94C91CBC8A 

97491CBC8A9E491CBA888A90e85e0A93e85814 

C882C88e68886689100 A91685eCA9 , 612 

238 DATA e6858DA917858AA986858B2874E46 

018A5CD650e85D49882E601A50185D528AAD92 

8E6D8A98485CBA986S5CCA8e8BlF3 , 593 

248 DATA 380591CBC818F7297F91CBA208A90 

B8D4283A9698D4403A9068D4583A9288D4883A 

9e08D4903A9018DF8822056E44C66,576 

250 DATA 069B9B9B9B9B7FD2C1CDA0C5D2D2C 

FD2A8ClD4A0ClC4C4D2C5D3D3202028282e20E 

802Eie2e838,487 



CHECKSUM DATA. 

(see page 32) 

10 DATA 272,674,323,72,288,965,282,364 

,735,912,694,97,438,719,585,7332 

168 DATA 596,134,793,174,577,892,766,6 

64,613,834,6843 



BASIC listing. 

10 REN mCKKMKlCKKKKMKll 
20 REN » RAMCHECK * 
30 REM * CCASSETTEJ * 
40 REM * BY » 

50 REM * A. GIANBRA « 

60 REM KKKKKKKKICICKKKK 

70 POKE 559,0:1=1536 

88 READ A: IF A=-l THEN 118 

98 POKE I,A:I=I+l:CHK=CHK+A 

100 GOTO 88 

118 1=12288 

128 READ a: IF A=-l THEN 150 

130 POKE I,A:I=I+l:CHK=CHK+A 

140 GOTO 120 

150 READ A: IF AOCHK THEN POKE 559,34: 

? "ERROR IN DATA STATEMENTS" : END 

168 X=USR(12288J 

178 DATA 184,145,0,169,23,133,12,169,6 

,133,13,169,23,133,10,169,6,133,11,32, 

116,228,96,24 

188 DATA 165,285,101,0,133,212,144,2,2 

30,1,165,1,133,213,32,170,217,32,230,2 

16,169,132,133,203 

190 DATA 169,6,133,204,160,0,177,243,4 

8,5,145,283,288,16,247,41,127,145,283, 

162,0,169,11,141 

200 DATA 66,3,169,105,141,68,3,169,6,1 

41,69,3,169,32,141,72,3,169,8,141,73,3 

,169,1 

218 DATA 141,248,2,32,86,228,76,102,6, 

155,155,155,155,155,127,210,193,205,16 

0,197,218,218,207,210 

228 DATA 160,193,212,160,193,196,196,2 

10,197,211,211,32,32,32,32,32,32,-1 

230 DATA 120,169,0,170,157,8,288,157,0 

,210,157,8,211,157,8,212,232,288,241,1 

33,8,133,1,160 

240 DATA 2,165,1,141,26,208,177,8,72,1 

69,8,24,145,8,289,8,248,5,132,285,76,8 

,6,105 

250 DATA 1,208,241,184,145,8,288,280,2 

29,238,1,165,1,281,48,288,216,169,8,13 

3,283,169,44,133 

268 DATA 284,169,25,133,285,169,48,133 

,286,168,48,177,285,145,283,136,16,249 

,168,37,165,186,145,203 

278 DATA 288,288,288,169,76,145,283,28 

8,169,116,145,283,288,169,228,145,283, 



ISSUE 29 



ANALOG COMPUTING 



PAGE 21 



168,8,165,8,133,6,169 

288 DATA 48,133,1,76,8,44,-1 

298 DATA 31859 



CHECKSUM DATA. 

(see page 32) 

18 DATA 272,674,797,197,698,282,458,16 

6,577,494,378,432,938,781,3,7835 

168 DATA 346,122,763,484,678,137,734,2 

43,683,364,192,98,381,784,5849 



LDA 


« <WARMBTART 


STA 


(IX), Y ITARGET OF JMP 




1 IS WARMSTART 


LDA 


« >WARI1START 


STA 


<IX) ,Y IHODIFY THE CODE 


LDY 


»0 


LDA 


»»00 INDM POINT LINZBS 


ETA 


LiNZBs )To tAeee 



LDA <tHEX3e 

STA LINZBS + I I AND CONTINUE 

JMP »2Ca0 ITHE TEST 

*- *ebee 



Assembly listing. 



»«-«««***tt**ti»» 



1 » 




* 




1 • RAMCHECK * 




1 » 


by 


• 




1 • A. 


siAmbra ♦ 




; * 




« 




1 •*«**«••***•«* 




1 OS EQUATES 






RAHTOP 




*iiA 


ITOP OF MEMORY 


DOSVEC 




*0A 


IDOS MENU VECTOR 


DQSINI 




%ec 


IDOE INITIALIZATION 


CRSINH 




»e2FI9 


1 INHIBIT CURSOR 


PUTB 




«0B 


IPUT CHARACTERS 


jgesr 




• 0342 


|g§F^^g ggSS^gi 




»034'» 


ICBLL 




• 034a 


1 BUFFER LENGTH 


CIOV 




• E456 


lOS I/O ROUTINE 


GTIA 




• 0000 


IVIDEO CHIP 


POKEY 




• DZ00 


II/O CHIP 


PIA 




• D3e0 


1 PORTS 


ANTIC 




• D400 


1 SCREEN DISPLAY 


COLBAK 




• D01A 


IBACKBROUND COLOR 


LINZBS 




• 00 




WARMSTART - 


• E474 




FRO 


« 


»D4 


IFP REGISTER 


IFP 


m 


• D9AA 


I INTEGER TO FP 


FPA 


> 


• OBEA 


IFP TO ASCII 


INBUFF 


» 


»F3 


IFP REGISTER 


1 WORK 


EQUATES 




HEX30 


_ 


•30 




HEX2CaB 


m 


•2C0e 




IX 


m 


• CB 


IWORK INDEX 


IXl 


B 


• CD 


IWDRK INDEX 


JUMP 


a 


• AC 


IMACHINE CODE JMP 


CR 


n 


• 9B 


I CARRIAGE RETURN 


TAB 


> 


• 7F 


I SCREEN TAB 


SP 


« 


• 20 


I SPACE 




»» 


• 3000 




BEGIN 


SEI 




I DISABLE INTERRUPTS 




LDA 


»0 






TAX 






CLRCHP 


STA 


GTIA, X 


1 CLEAR THE CHIPS 




STA 


POKE^.X 






STA 


PIA.X 






STA 


antIc.x 






INX 








BNE 


CLRCHP 






STA 


LINZBS 


1 1ST MEMORY BYTE 




STA 


LINZBS+1 




LDY 


*2 


I START AT 3RD BYTE 


LOOPER 


LDA 


LINZBS+1 IGET PAGE NUMBER 




STA 


COLBAK 


1 STORE IN COLOR 


AGAIN 


LDA 


(LINZBS 


,Y 




PHA 




isAVE THE CONTENTS 




LDA 


«0 






CLC 






Lonpi 


STA 


(LINZBS 


,Y I STORE VALUE 




CMP 


(UNZBS 


,Y I SAME VALUE? 




BED 


LO0P2 






STY 


1X1 


ISAVE Y REGISTER 




JMP 


ERROR 


IRAM ERROR 


L00P2 


ADC 


*1 


1 ADD 1 




BNE 


LOOP! 


IDO IT AGAIN 




PLA 




I RESTORE CONTENTS 




STA 


(LINZBS 


,Y 




INY 




(BUMP TO NEXT ADDRESS 




BNE 


AGAIN 






INC 


LINZBS+ 


I NEXT PAGE 




LDA 


LINZBS+1 ILOAD PAGE NUMBER 


INDEX 


CMP 


t(HEX30 


1 START OF CODE? 




BNE 


LOOPER 


INO. KEEP GOING 


ENDER 


LDA 


«t <HEX2Ca0 iPOINT IX TO •2000 




STA 


IX 






LDA 


* >HEXZC00 




STA 


IX+1 






LDA 


* <LDaPER IPOINT 1X1 TO 




STA 


1X1 


I OUR CODE 




LDA 


« >LOOPER 




STA 


IXl + 1 






LDY 


•ENDER-LOOPER 


TRANSFER LDA 


(1X1) ,Y 


IMOVE CODE FROM 




STA 


(IX) ,V 


1^4000 TO •2C00 




DEY 








BPL 


TRANSFER 




LDY 


•INDEX-LOOPER+1 




LDA 


RAMTOP 


IMEMTQP VALUE 




STA 


(IX) ,Y 


1 MODIFY COMPARE 




INY 




IPOINT TO CODE 




INY 




1 AFTER 'ENDER' 




INY 




1 LABEL 




LDA 


»JUMP 


I CHANGE OPERATOR 




STA 


(IX) ,Y 


ITO JMP 




INY 







RETURN 

I 

BACK 



OX 
I 

HESe 



ADDR 
I 



PLA 
STA 
LDA 
ETA 
LDA 
STA 
LDA 
STA 
LDA 
STA 
JSR 
RTS 

CLC 
LDA 
ADC 
STA 
BCC 
INC 
LDA 
STA 
JSR 
JSR 
LDA 
STA 
LDA 
STA 
LDY 
LDA 
BMI 
STA 
INY 
BPL 
AND 
STA 
LDX 
LDA 
STA 
LDA 
STA 
LDA 
STA 
LDA 
STA 
LDA 
STA 
LDA 
STA 
JSR 
JMP 



I 

(LINZBS) , 
• <RETURN 
DOSINI 
It >RETURN 
DOBINI+1 
« <BACK I 
DOSVEC I 
W >BACK ! 
DDSVEC+1 
WARMSTART 



RESTORE LAST 
Y I ADDRESS 

IPOINT DOSINI 
TO AN RTS 



POINT DOSVEC 
TO OUR CODE 
WARMSTART WILL 
I RETURN THERE 
IDO WARMSTART 



1X1 IGET OFFSET 

LINZBS I ADD MEM ADDRESS 

FRO IPUT IN FP REGISTER 

NOCARRY 

LINZBS+1 

LINZBS+1 

FRO+1 

IFP [CONVERT TO FP 

FPA ICONVERT TO ASCII 

• <ADDR IPOINT IX TO 
IX I OUR BUFFER 
« >ADDR 

IX+1 
«0 

( INBUFF) , 
OK 

(IX), Y IPUT IN OUR BUFFER 

DD 

(••7F 

(IX) , 

«0 

»PUTB 

ICCOM 

* <MESB IPOINT TO OUR 
ICBAL I MESSAGE 
k >MES6 
ICBAL+1 
»32 
ICBLL 
»0 

ICBLL+1 
ttl 

CRSINH 
CIOV 
DX 



IGET THE NUMBER 



ITURN OFF HIGH BIT 
ISAVE LAST DIGIT 
■CHANNEL (EDITOR) 
IPUT BYTES 



I WRITE 32 CHARACTERS 



ITURN OFF CURSOR 



IDO I/Q 

I LOOP FOREVER 



.BYTE CR.CR,CR,CR,CR,TAB 

-BYTE +•60, 'ram EftROft AT 

.BYTE +^80, "ADDRESS " 

.BYTE SP 

.BYTE SP,SP, SP,SP,SP 

•- •02E0 

.WORD BEGIN 
.END 



ATTENTION 

USER GROUPS 



ly like to exten(i my thanks to all of the 
Atari groups and their officers in response 
to our survey. 

If your group hasn't receive(d a question- 
naire, please contact me as soon as possible 
at: 

ANALOG Computing 

Attn: Lee Pappas 
P.O. Box 23 
Worcester, MA 01603 
(617) 892-9230 



PAGE 22 



ANALOG COMPUTING 



ISSUE 29 




AM 

Operating System 

For Atari XLs 



64KDisk XL 



by Ken Alexander 




The Atari XLs advertise 64K of RAM, but, as you know, this is rather mis- 
leading. The 6502 processor can only access 64K of memory, and the ROM 
takes up 14K of this, while the I/O region takes up 2K. This means that 
16K of RAM is rendered inaccessible under normal circumstances. What 
jood is RAM that can't be used? 

Soon after I purchased my 1200, I called Atari and got their ori- 
ginal 1200 information package through the mail. It promised to 
tell how to access the whole 64K of RAM. All that it said on 
the subject was: "PIA PORTB at 54017 ($D301) is used to con- 
trol the memory management. BitO controls access to the 
OS ROM and is normally enabled (bit=l). Setting the 
bit to will disable the 14K of OS ROM in the region 
$COOO-$CFFF and $D800-$FFFF and enable the RAM. 
Unless another OS has already been provided, the sys- 
tem will crash on the next interrupt." To disable the 
ROM, you must first provide another OS in the 
RAM . . . but, to provide another OS in the RAM, 
you must first disable the ROM. Fun. 

Then the translator disk came out, so it had 

to be possible somehow. The translator puts the 

equivalent of a 400/800 OS into an XL, and 

it is highly recommended for XL owners. It 

, not only allows XLs to run many Atari pro- 

*, grams that they couldn't at first, but also 

» gives them a modifiable OS. 

Many minor changes can be made. 



and a redefined character set can be 

made by directly altering the main 

set at $E000-$E3FF. It also frees the 

4K block of memory from $C000 

to $CFFF that was wasted ROM in 



ISSUE 29 



ANALOG COMPUTING 



PAGE 23 



the 800, giving you 4K of RAM that is absolutely pro- 
tected. (Actually, the region from $CFOO-$CFFF isn't 
available, because residing here are interrupt handlers 
that allow for some hardware differences between the 
XLs and the 400/800.) 

Unfortunately, changes to the OS can't be made un- 
til the translator has done its work, and these must 
be small enough to fit in, or it's very easy to foul 
something up. Recovery is difficult, because RESET 
causes total lockup. 

I disassembled everything, but 1 couldn't find the 
translator program. Apparently it wipes itself out af- 
ter changing the OS. 1 wanted to know how the trans- 
lator worked, so I could make my own OS and then 
put it in all at one time. 

At first, I tried creating a new OS in RAM from 
$4000-$7FFF and writing a program that would move 
it up piece by piece. It used a vertical blank interrupt 
(VBI) routine that would, each sixtieth of a second, 
disable the ROM, move 256 more bytes of the OS 
and re-enable the ROM before the VBI returned. 

After all that, it didn't work. I finally reached Atari's 
toll-free number and got through to someone who 
knew about it — and who actually called me back in 
the evening to talk about it. He sent me the program 
in Listing 1. 

In accordance with true Atari policy, they never told 
the public about this. It's so simple that my superior 
brain failed to think of it. With it, you can turn your 
XL OS into RAM, or be Frankenstein— create your 
very own OS, and this will give it life. D 

Listing 1. 
BASIC listing. 

18 REM RAM OS BASIC MAKER 

20 REM 

38 OPEM ttl,8,0,"D:RAM0S.0BJ" 

40 TRAP 68 

58 READ A: PUT ttl,A:G0T0 58 

68 END 

^S2,'^6I^ 255,255,0,6,101,6,32,78,6,177 
Al®lAi*^'2fl5,2ee,2e8,243,238,2B4;238,2 
86,202,224,48,208,3,32,91 

^{2 S?P 6'224,8,208,233,120,169,0,141 

,14,212,169,254,141,1,211,32,70,6,177, 

205,145,203,200,208,249,230 

i?®„'*'*T* 204,230,206,202,224,48,208,3, 

32, 91, 6, 224, 8, 288, 233, 88, 169, 64, 141114 

,212,8,169,8,133,283,169 

130 DATA 192,133,204,169,0,133,205,169 

,64,133,206,162,64,168,0,96,160,8,238, 

204,230,206,282,136,208,248,96 



CHECKSUM DATA. 

(see page 32) 

18 DATA 566,253,776,638,388,253,298,73 
6,396,110,4310 



Assembly listing. 



I "RflHOB" 

I Thl« routlna movam th« 1200XL or 

) BaaXL 08 ROM to RAM fron *A00e 

I to »7FFF, diiablx the ROM, th«n 

1 fflovffa th« OS back to Itm propar 

I «cldr«ms in what i« now RAM. 

I It can also ba usad to mova an 

) altarnata OS into placa aftar 

I it i« craatad at »4B0a-»7FFF. 

I Just So to DISABLE at *61A 

I instaad of tha start at *6e0. 
I 

I Tha scraan will flickar as tha 

I charsat is disablad, and than 

I Viola! You hava a RAM OB. Tall 
ill your friands. 



I 
I 

I aquatas 

RDM 

RAM 

OSRDM 

OSRAM 

NMIEN 

PORTB 

I 



*CB 

ROM+2 

«Ce00 

«4000 

«D40E 

CD301 



Ipaga ROM IndaK 
Ipaga RAM indax 
1 start o-f OS ROM 
(start o-f RAM araa 
iANTIC NMI disabla 
IPIA OS ROM disabla 



*- •0600 
JSR INIT linit nova addrassa 
ROM to RAM 



LDA 
STA 
INY 
BNE 
INC 
INC 
DEX 
CPX 
BNE 
JSR 
CPX 
BNE 

SEI 
LDA 
STA 
LDA 
STA 
JSR 



(ROM) , Y 
(RAM) , Y 

MOV I 

ROM+1 

RAM+1 

«*30 

MOVIA 

SKIP 

«0 

MOVl 



»0 

NMIEN 

««FE 

PORTB 

INIT 



Iskip I/O ragion 

■disabla IRQ's 
(disabla NMI's 
(disabla OS RDM 



} mova RAM to formar ROM raoion 

nav2 



LDA 
BTA 
INY 
BNE 
INC 
INC 
DEX 
CPX 
BNE 
JSR 
CPX 
BNE 



(RAM) ,Y 

(ROM) ;y 

MQV2 

ROM+1 

RAM+1 




iiJIIIIIIIII 



1 ATARI 



POWER WITHOUT THE PRICE 
AT. . .COMPUTER CREATIONS 




: COMPUTERS 

: Atari 800 XL 

: Atari 66 XE 

: Atari 130 XE 



ATARI HARDWARE 

COMPUTERS 

CALL Atari 130 ST 

FOR NEW Atari 520 ST 

PRICES 



: Atari 1060 

Z Indus GT (Free Software) 

; Astra 2001 

; Happy Entiancement for Atari 
: 810 and 1050 Drives 



DISK DRIVES 

CALL Atari SF 324 {3'/?" floppy disk 250K) 

FOR Atari SF 354 (3'/i" floppy disk 500K) 

NEW Atari SH 317 (SV;" fiard disk 10 IVIB| 

PRICES 



FOR 



NEW 



PRICES 



CALL 

FOR 

PRICES 



: PRINTERS 

: Atari XTIvl 201 (Non-impact 

: Dot Matrix 20 CPS) 

[ Atari XTC 201 (Color, non- 
: impact Dot fvtatrix 

I 20 CPS) 

: Atari XDrwl 121 (Daisy Wfieel 

: Letter Duality 12 CPS) CALL 

I Atari XMM 801 (Dot (vlatrix, 

: Impact 80 CPS) 

: Atari 1025 (Dot Matrix, Impact 

I CPS) 

: Atari 1027 (Letter Quality) ... 
: Atari ST 504 (Color Dot Matrix. 

'■ non-impact 50 CPS) 

: Atari 5 DM 1 24 (Daisy Wheel 
: Letter Quality, 12 GPS) .... 
: Atari SMM 804 (Dot Matrix, 

: impact 80 CPS) 

: STAR MICRONICS PRINTERS 

; SG-10 (80 column) 

; SG-15(136 column) .. . 

'■ SD-10 (80 column) 

: SR-10 (80 column) 

: SR-15(136 column) 

' Powertype Daisywheel 

: EPSON PRINTERS 

: Epson RX-80-f (80 column 249.00 

\ Epson RX-80^- FT (80 column) ... 31 9.00 

: Epson FX-80-(- (80 column) 429.00 

: Epson Rx 100-f(135column) ... 419.00 

I Okidata 92P 440.00 

I PRINTER INTERFACE CABLES 

I MPP-Mioroprint 49.95 

: MPP-1 150 Parallel Printer 

- Interface 59.95 

; Microbils Microstuffer 1 09.95 

: PRINTER RIBBONS 

' Gemini Printers (Black/Blue/ 

■ Red/Purple) 3.00 

; Epson Printers 6.95 

: OTHER HARDWARE 

; Atari 1010 Program Recorder ... 54.00 

; Atari GX 77 Toucti Tablet CALL 

: Atari Ligtit Pen CALL 

: Microbits64K(600XL) 

: Expansion 69.00 

■ Ram Rod XL w/ Omniview 

■ for 800 XL 99.00 

: Omniview (or 800 XL 49.00 

'■ B.I. 80 Column Display Adaptor .... CALL 



MONITORS 

Atari XC 141 (14" Composite 

Color) 

Atari XM 148(12" 

Monochrome. 80 column. 

low resolution) 

Atari SM 124(12" 

Monochrome. 80 column. CALL 

high resolution) FOR 

Atari SC 1224 (12" RGB Color) PRICES 

Sanyo 1 2" Green Screen 84.00 

Sanyo 12" Amber Screen 89.00 

Sanyo Color Screen. 13" 21 9.00 

Sanyo 9" Green Screen 69.00 

Monitor Cable 9.00 

MODEMS 

Atari 1030 Direct 300 Band 

Connect CALL 

Atari XM 301 Direct FOR 

Connect 300 Band PRICES 

MPP-1000E Modem 114.00 

Signalman Mark XII Modem with 

R-Verter 299.00 

fvlarkXwilh R-Verter 169.00 

DISKETTE/CARTRIDGE/ 
CASSETTE FILES 

Flip'N' File 10 3.95 

Flip'N' File 15 6.95 

SOFTWARE 

ATARI 

Logo(R) 68 

Prog. 1. 2 or 3(C) 18 

Assembler Editor (R) 27 

Macroassembler (D) 19 

Microsoft Basic II (R) 45 

Basic Cart. (R) 5 

AtariWriter (R) 35 

Family Finances (D) 18 

Home Filing Mgr. (D) 21 

Telelink I (R) 21 

Visicalc{D) 45 

Juggles House (C/D) 16 

Juggles Rainbow (C/D) 16 

Mickey in the Great Outdoors (D) . . 21 

Skywriter (R) 16 

Atari Music I or II 19 

Speed Reading 27 

Conv. Languages (ea.) 21 

Video Easel 19 

Type Attack 16 

Asteroids 10 



GENERIC DISKS AT FANTASTIC PRICES! 

GENERIC DISKS AS LOW AS 940ea. 

Generic 100% Defect-Free/Guaranteed. 

Inclutjes sleeves, labels, wrrite protect tabs, reinforced hub rings, lifetime 
warranty. (2 boxes minimum) 

SS/SD SS/DD DS/DD 

DISKETTES 2 boxes 11.99 13.99 15.99 

(2 bx. minimum) 3-9 boxes 10.50 12.50 14.50 

10 per box 10+boxes 9.40 11.49 13.99 

• • DEALER INQUIRIES INVITED • • 



EPYX 

Moreta 25 

Dragonriders of Pern 25 

The Right Stuff 25 

The World's Greatest 

Baseball Game 25 

FBI 25 

Impossible Mission 25 

Summer Games II 25 

Summer Games 25 

Pitstop II 25 

Ballblazer 25 

Rescue on Fractalus 25 

Scrabble 25 

ACCESS 

Beach Head{D) 23 

Beach Head II (D) 23 

Raid Over Moscow (D) 23 

ACTIVISION 

Decathalon(R) 25 

Pitfall II (R) 25 

Space Shuttle (R) 25 

Ghost Busters (D) 25 

AMERICAN EDUCATIONAL 

Spelling Grades 2 thru a (D) 28 

Reading Comprehension (D) 28 

AVALON HILL 

Jupiter Mission (D) 38 

Quest of Space Beagle (D) 38 

BATTERIES INCLUDED 

Paperclip (D) 59 

BRODERBUND 

Printship(D) 29 

Spelunker(D) 19 

Stealth (D) 19 

Whistler's Brother (D) 19 

CBS 

Call for items and prices 

CONTINENTAL 

Home Accountant (D) 44 

DATASOFT 

Bruce Lee 23 

Dallas Quest 23 

Conan 25 

Letter Wizard w/speller CALL 

ELECTRONIC ARTS 

Archon(D) 29 

Pinball Construction (D) 29 

M.U.L.E.(D) 29 

Murder/Zinderneul (D) 29 

One on One (D) 29 

Archon 11(D) 29 



Financial Cookbook (D) 37 ; 

Music Construction (D) 29 ! 

Realm/Impossibility (D) 29 ■ 

Hard Hat Mack 25 ; 

AXIS Assasin 25 : 

INFOCOM : 

Cut Throats (D) 23 '• 

Deadline (D) 29 ; 

Enchanter (D) 23 : 

Hitchhiker's Guide to ■ 

the Galaxy (Di 23 : 

Infidel (D) 26 : 

Planetfall(D) 23 ; 

Sea Stalker (D) 23 : 

Sorcerer (D) 26 : 

Starcross(D) 29 ; 

Suspect (D) 29 : 

Suspended (D) 29 : 

Witness (D) 23 ; 

Zorkl(D) 23 : 

Zorkllor lll(D) 26 ; 

Invisiclues Hint Books 7 ; 

MICROPROSE : 

F-1 5 Strike Eagle (D) 23; 

Mig Alley Ace (D) 23; 

Solo Flight (D) 23 I 

OSS : 

Action (R) 59 : 

Action Tool Kit (D) 25 1 

Basic XL (R) 59 ; 

DOS XL (D) 25 : 

MAC/54 (R) 59 : 

MAC/65 Tool Kit (D) 25 ; 

ORIGIN : 

Ultima III (D) 39 : 

SCARBOROUGH ; 

Mastertype 25 ; 

SIERRA ON LINE : 

Ultima I 23 ; 

Ultima II 39 : 

SPINNAKER : 

Call for items and prices ; 

SYNAPSE : 

Quasimodo 15; 

Alley Cat 15 ; 

Syn-Flle-I- 38: 

Syn-Calc 38 | 

Syn-Trend 38 ; 

Syn-Comm 29 1 

Syn-Stock 29 j 

TBONIX : 

S.A.M 39: 

Chatterbee 25 ■ 



To order call TOLL FREE 

1-800-824-7506 




ORDER LINE ONLY 



COMPUTER CREATIONS, Inc. 

P.O. Bo 292467 - Dayton, Ohio 45429 

For information call: (513) 294-2002 (Or to order in Ohio) 

Order Lines Open 8:30 a.m. lo 8:00 p.m. Mon.-Fri.; 10 a.m. to 4:00 p.m. Sat. (Eastern Standard Time). Minimum SI per order. Orders 
under $100 add $3.00. C.O.D. (add $2.50). All prices are subject to change without notice. Call toll free number to verify prices and 
availability of product. Actual freight will be charged on all hardware. Software and accessories add $4.00 shipping and handling in 
Continental United Slates. Actual freight will be charged outside U.S. to include Canada. Alaska, Hawaii, Puerto Rico. Ohio residents 
add 6% sales tax. NO CREDITS! Return must have authorization number. 



CIRCLE #113 ON READER SERVICE CARD 



IT? 



ISSUE 29 



ANALOG COMPUTING 



PAGE 25 




16K Disk 



by Grant Albrecht 



MaxiCopy is a very useful utility for the Atari com- 
puter. It allows you to take full advantage of available 
memory when copying disk files. This helps to mini- 
mize or eliminate the need for disk swapping when 
more than one file on a disk has to be copied, but 
a duplicate disk is not desired. 

MaxiCopy is written entirely in assembly language 
tor optimum speed. The program demonstrates some 
useful routines for data input/output, as well as an 
effective error trapping routine. 



Using it. 

To use MaxiCopy, simply load the binary file. The 
program will autostart and begin by prompting the 
user to enter a filename. You don't have to enter the 
device prefix. MaxiCopy assumes drive 1. Note: minor 
modifications could permit flexibility in drive selec- 
tion, but the program's greatest advantage is gained 
with a single-drive system.) 

Enter the names of the files you wish to copy. The 
program will accept as many as sixteen filenames, af- 
ter which it will sound the console buzzer to alert you 
to initiate copying. 

If you wish to copy fewer than sixteen files, then 
simply press RETURN in response to the filename 
prompt, to terminate input. The program will prompt 
you to insert source and destination disks as required. 
When the copy is completed, the option is offered 
to start over or to return to DOS. D 



PAGE 26 



ANALOG COMPUTING 



ISSUE 29 



Listing 1. 
BASIC listing. 

10 REM *** MftXICOPY MAKER *** 

29 DATA 8,1,2,3,4,5,6,7,8,9,6,8,0,0,8, 

0,0,18,11,12,13,14,15 

38 DIM DAT5 01J,HEX{22J :FOB K=8 TO 22: 

READ N : HEX CX)=N: NEXT X : LINE=9?e : RE5T0R 

E 1080: TRAP 110:? "CHECKING DATA" 

40 LIHE=LIME+10:? "LINE ! ";LINE : READ DA 

IS: IF LENtDATS3<>98 THEN 150 

58 DATLIN=PEEKC183J+PEEKtl84)«256:IF D 

ATLINOLINE THEN ? "LINE ";LIHE;" MI55 

ING ! " : END 

68 FOR X=l TO 89 STEP 2 :D1=A5C CDAT$CX) 

> -48 : D2=ASC CDATS CX+13 J -48 : BVTE=HEX CDIJ 

»16+HEXtD2J 

78 IF PA5S=2 THEN PUT ttl, BYTE : NEXT X:R 

EAD CHK5UM:G0T0 40 

88 TOTAL=TOTAL+BYTE:IF T0TAL>999 THEN 

TOTAL^TOTAL-ieOO 

90 NEXT X:READ CHKSUH:IF TOTAL=CHKSUM 

THEN 40 

100 GOTO 150 

110 IF PEEKC1953 06 THEN 150 

120 IF PASS THEN CLOSE ttl: END 

138 ? "INSERT DISK WITH DOS, PRESS RET 

URN";:INPUT DAT$:0PEN ttl,8,0,"D:MAXIC0 

PY.OBJ" 

148 ? :? "MRITIN6 FILE":PASS=2 :LINE=99 

8: RESTORE 1888: TRAP 110: GOTO 40 

150 ? "BAD DATA: LINE ";LINE:END 

1888 DATA FFFF8821822144313A1821122144 

313A2821222144313A3e21322144313A482142 

2144313A5821522144313A6e,544 

1810 DATA 2ie22144313A7821722144313A80 

21822144313A9021922144313AA021A2214431 

3AB021B22144313AC821G221,998 

1828 DATA 44313AD021D22144313AE021E221 

44313AFe21F22144313A0023022300e0002323 

232300e423CD26000000800e,828 

1030 DATA 007D2020202020202e4D41584943 

4F50S920627920472E20416C6272e56368741D 

9B46696Ce52e746F20e36F78,213 

1848 DATA 793F9B496E7365727428736F7572 

6365286469736B3A9B496E7365727428646573 

74276E286469736B3A9B4D6F , 644 

1058 DATA 726520746F20636F70793F9BFD9B 

FD425245414B204B45592041424F52549B2080 

26208426A9eAA223202326A0,794 

1060 DATA 69A90e9900238810FAA9e0A22185 

B086B1AD300238E9018D6423AD3102E9818D65 

23A2808E0223A98BA2232023,79 

1070 DATA 2ei8A9e365B0A6B1208E2ei007C0 

80DeE94CBC25A883BlB8C99BF81528EF25AEe2 

23E8E81898D88E8223A9CFA2,423 

1888 DATA 23282326A9018D8e23A999A22328 

2326A9e8A222288E26AEe8232eE825AE8823A9 

CE85B2A92785B38E8823A5B2,547 

1090 DATA 9D2323A5B39D3323ADe42338E5B2 

8De623ADe523E5B38De723De034C2E25AD2323 

F010A90e8D2323A9029D0223 , 20 

1100 DATA CE01234CB624A9ei8De923A90420 

A626300DA210A9072e6426105AC888F01420FB 

25AEOO23FE1223A90O9D4323,959 

1110 DATA 9D53234CF024AE0823AD58039D43 

23AD59039D5323BD6223C9029003FE022320S0 

26AE0023BD43231865B285B2,37 

1120 DATA BD532365B385B320EF25AEe023EC 

e223B01EEE8023AE00234C7224AE0023FE0223 

AD58039D4323AD59e39D5323,203 

1130 DATA EE2323A9ADA223202326A900A222 

288E26A9828D6923EE8123AE812320E025AEei 

23BD1223D03EBD0223C982B8 , 288 

1148 DATA 10A98828Ae26ie892eFB25AE0123 

FE1223AE0123BD1223DeiFBD232385B2BD3323 

85B3BD43238De623BD53238D, 444 

1150 DATA 6723A228A98B28642638D0AE0123 

BD0223F889C9039008A9e09De22320S42eAEei 

23EC8823B8834C4125BDe223, 52 

1160 DATA D005EC0223F00A4C5324A9D1A223 

202326A9ClA223202326A9e0A22220SE2e30F0 

AD0e22C959D6834CE2236C0A, 355 

1170 DATA 00A9F085B0A92085B120EF25CADe 

FA60A5B018e91085B090e2E6B16084D4A9e085 

D520AAD920E6D8A000BlF330,47e 



1180 DATA 080980995E26C8D0F4995E26A93B 

A226202326A5B0AeB18D44038E4503A200A909 

8D42e3A9FF8D48038E49034C , 970 

1198 DATA 56E47D282e2020202020202e2020 

202020282e4E6F742863eF7869e5642828C5D2 

D2CFD2AeB8B8B81ClC9B9D42, 106 

1200 DATA 83A5B29D4483A5B39D4503AD6e23 

9D4803AD67239D49034C56E4A210D002A22eA9 

eC9D42034C56E48D44038E45, 531 

1210 DATA 03A200A9e5SD42e3A9FF8D48038E 

49034C56E48D6823ADe923eA0A0A0AAAA9e39D 

4203AD68239D4A83A9809D4B, 476 

1228 DATA 83A5B89D4483A5B19D45834C56E4 

E8e2E182E2238808888888e8888888888888e8 

608888888888888888888888,723 



CHECKSUM DATA. 

(see page 32) 

18 DATA 571,957,888,428,727,554,599,55 

3,272,698,616,21,856,33,162,7843 

1866 DATA 49,123,42,366,643,551,635,71 

6,531,858,517,761,698,717,588,7789 

1158 DATA 571,531,741,756,445,683,898, 

884,5509 



Listing 2. 
Assembly listing. 



1 * 


MflXICOPY 2.1 • 


1 * 


» 


1 » PrOQ 


to copy reultipla f i 1 as . * 


1 • 


By Grant Albracht » 


; • 


B4/a7/lB • 




* 


; *«*»*««*«»*««*««« *'»i.#*'»»««««**-»» 


} 


»" »2ia0 


; Equates 


ICCMD 


»0342 


ICflDR 


»0344 


ICLEN 


«034B 


ICftUX 


»«l34a 


DLIST 


«B23ei 


CQPEN 


3 


CG8IN 


7 


CETXT 


S 


CPBIN 


11 


CPTXT 


■? 


CCLDS 


12 


OPINP 


4 


QPQUT 


B 


GOADR 


»02EB 


DDSUOC 


»0A 


CIO 


• E4S6 


EOL 


»9B 


EOF 


13t 


ZPB 


*B0 


ZP2 


«B2 


FR0 


»D4 


IFP 


»D7flfl 


FftSC 


»D8E6 


INBUFF 


»F3 


! 

I Raftarvcd mamory 


FNHHES 


.BYTE "Dl:" 




«- »+13 




.BYTE "Dl!" 




»- »+13 




.BYTE "Dl:" 




»- *-HZ 




.BYTE "Dl:" 




»= •■H3 




.BYTE "Dl:" 




»• .♦13 




.BYTE "Dl:" 




»= »+13 




.BYTE "Dl:" 




*- »+13 




.BYTE "Dl:" 




•« »+13 




.BYTE "Dl:" 




»- »+13 




.BYTE "Dl:" 




»" ♦+13 




.BYTE "Dl:" 




•» #+13 




.BYTE "Dl:" 




». S+IJ 




.BYTE "Dl:" 




»« »+13 




.BYTE "Dl:" 




«- »+13 




.BYTE "Dl:" 




»"= .+ 13 




.BYTE "Dl:" 




••- » + 13 



BUFF •» »+256 
RDONE .BYTE 



IM filaa raad 



ISSUE 29 



ANALOG COMPUTING 



PAGE 27 



UDDNE 

COUNT 

PART 

EFLB 

FLAG 

SLQ 

SHI 

I 

LLD 

LHI 

I 

EDM 

FLEN 

MODE 

CHAN 

I 

I 

I n« 
I 

HSl 

I1S2 
I1S3 



.BYTE a 
.BYTE a 
»- *+l6 

.BYTE e 

»» ♦+16 
»" *+16 

»- »+li 
»- »+16 

.WORD a 

.WORD e 

.BYTE 

.BYTE e 



Mr i ttan 



1« -fill 
;# -filas to copy 
(Only part r««d7 
i Error -f 1 ag 



)Start addr of 
; f i 1 » data. 



SLBngth a+ 
If il«. 



1 End avail mam 



I 

ERl 



MS5 
MS& 
nS7 



lagaa uaad by program 

.BYTE »7D ," MAXICOPY" 

.BYTE " hy G. ftlbracht" ,EDL 

.BYTE "Fila to copy?" EOL 

.BYTE "Insert aourca '' 

.BYTE ■'di«k:",EOL 

.BYTE "Inaart daat'n " 

.BYTE "di«k:",EaL 

.BYTE "Mara to copy7",EaL 

.BYTE »FD,EaL llball char'/ 

-BYTE »FD, "BREAK KEY ABORT", EOL 



I Actual code bagina hare 



INIT 

I 

UPl 
I 



JSR CLOSEl 

JSR CL0SE2 

LDA D <MS1 

LDX « >MS1 

JSR PRINT 



tClofia filaa, 

; ( juat i n caaa) . 



;Print titlt 



LDY »103 

LDA «0 

STA RDONE.Y llnitiliia 

DEY ;Riamary. 

BPL LPl 

LBA » <FNAMES 

LDX * >FNAMES 

STA ZP6 I IPointar to 

STX ZPG-t-l I filananas) 



LDA DLIST 
SEC 

SBC *l 

STA EOM 

LDfl DLIST+l 

SBC HI 

STA EOM+1 



} Eat abl i «h tap 
;avall mamory 
!a« 1 pagtt bslow 
Idiaplay list. 



Tha 
f il 



followina loop 



tol lowing 
•namec unri 



I juat [RETURN] 
pressed or sixteen names 
e been entered. 

LDX «e 

STX COUNT 

LDA tt <MS2 (Ask for 

LDX « >HS2 Ifilename. 

JSR PRINT 

CLC 

LDA »3 

ADC ZPG JPut the nami 

LDX ZPE+1 Sinto FNAME 

JSR INPUT Jbuffer. 

BPL OK ; Input Qk? 

CPY »12a SBREAK koy7 

BNE ASK ;No, retry. 

JMP ABORT lYes abort. 



)Ju»t [RETURN]? 
1 Yes input done. 



OK 


LDY 


1)3 




LDA 


(ZPG) , Y 




CMP 


(tEOL 




BED 


OUT 




JSR 


INCZPE 




LDX 


COUNT 




INX 






CPX 


»ib 




BCC 


LP2 




STX 


COUNT 



IGot 16 names? 
i No , get mor e . 



LDA * <MS6 lAlert user by 
LDX It >MS6 isounding bell. 
JSR PRINT 



I 

SRC 



LDA 


HI 


SReaat counter 


STA 


RDONE 


ifor It read. 


LDA 


II <MS3 


lAak for saurca 


LDX 


II >MS3 


idisk. 


JSR 


PRINT 




LDA 


II <BUFF 


;Wait for user 


LDX 


H >BUFF 


i to press 
1 [RETURN] . 


JSR 


INPUT 


LDX 


RDONE 




JSR 


ZLODF 


;Set FNAME pntr 


LDX 


RDONE 




LDA 


It <MEn 


; Poi nt t a start 


STA 


ZP2 


Sol aval 1 abl e 


LDA 


H >MEH 


1 memory . 


STA 


ZP2 + 1 




STX 


RDONE 




LDfl 


ZP2 


;Keep tha addr 


STA 


SLO-1, X 


Iwhere this 


LDA 


ZP2+1 


I f i 1 B is saved . 


STA 


SHI-1 , X 




LDA 


EOM 


;Calculate max 


SEC 




i number of byte! 


SBC 


ZP2 


; that can be 


STA 


FLEN 


; read into mem. 


LDft 


EQM+1 


SAnd use this 


SBC 


ZP2 + 1 


; as file 1 ength 


STA 


FLEN+1 


1 when reading. 


BNE 


READ 


Slf nil then 
! Mr i te first. 


JMP 


WRITE 


LDA 


FLAG 


JFile open? 


BEQ 


OVERl 


; No , skip thi e. 


LDA 


ite 


iYes, so... 


STA 


FLAG 


SReset flag. 


LDA 


»2 


;Set flag so 


STA 


PART-1, ; 


K I wr i te rout i ne 


DEC 


WDONE 


1 wi 1 1 append . 
jSkip file open 


JMP 


0VER2 



I 
I 

NEND 



UCL 
I 

NCLOSE 



I 

WEND 



BAK 
I 

ABORT 



I 

FINI 



STA CHAN lOpen fill 

LDA ItOPINP (channel 1 

JSR OPEN (input. 

BMI ERl 



LDX ttsie 

LDA HCGBIN 

JSR PUTGET 

BPL NEND 

CPY IIEOF 

BEQ REND 



(Retrieve bytes 
(from the file. 

( No errors? 
(EOF reached? 
( Yea. 



JSR ERROR (Report error, 

LDX RDONE (then continue. 

INC EFL6-1,X (Flag it. 

LDA l»0 

STA LL0-1,X (Set file length 

STA LHI-l.X (to zero. 

JMP RCLOSE (And skip it. 

LDX RDONE 

LDA ICLEN+16 

STA LLO-l.X (Save the length 

LDA ICLEN4-17 (of the file. 

STA LHI-1,X 

LDA PART-1, X (Part written? 

CMP 112 

BCC RCLOSE SNo. 

INC PART-1, X (Yes, now fini. 

JSR CLOSEl 

LDX RDONE 

LDA LLO-1 
CLC 

ADC ZP2 

STA ZP2 

LDA LHI-1,X 

ADC ZP2+1 

BTA ZP2+1 

JSR INCZPG (Next filename. 

LDX RDONE 

CPX COUNT (Finished read? 

BCS WRITE [Yes, now write. 



X (Adjust memory 
( poi nter to 
( next aval 1 
( space. 



INC RDONE 
LDX RDONE 
JMP LP4 



(No, increment 
( counter and 
( keep read i ng 



LDX RDONE i Only part of 

INC PART-1, X (file read. 

LDA ICLENflfa (Sava file 

STA LLQ-1,X [ length. 

LDA ICLEN+17 

STA LHI-l,X 

INC FLAG (Set flag. 

LDA » <MS4 (Ask for dest'n 

LDX II >MS4 (disk. 

JSR PRINT 

LDA It <BUFF (And wait for 

LDX It >BUFF (user to press 

JER INPUT ([RETURN]? 



LDA 112 

STA CHAN 

INC MDONE 

LDX MDONE 

JSR ZLOOP 

LDX WDONE 

LDA EFLE-l, 

BNE WCLOEE 



(Use channel 2 
(for wr i te. 
[ (• written) 

[Set FNAME pntr. 

(Err from read? 
(Yes, skip write. 



LDA PART-l,X 

CMP 112 (Part written? 

BCS W0VER2 [Yes, dont open. 

LDA «OPOUT (Open new file 

JSR OPEN (for output. 

BPL W0VER2 (Error on open? 



1 

ER2 


JSR 


ERROR 


(Disp err msg. 




LDX 


WDONE 


(and set flag. 




INC 


EFLG-1,X 


W0VER2 


LDX 


WDONE 






LDA 


EFL6-1, X 


( Any error? 




BNE 


WCLOSE 


(Yes skip wr i te 


' 


LDA 


SLO-1, X 


(Point to start 




STA 


ZP2 


(of file data. 




LDA 


SHI-1, X 






STA 


ZP2+1 






LDA 


LLD-1,X 


(Get saved 




STA 


FLEN 


(file length. 




LDA 


LHI-l.X 
FLENf I 






STA 





(Send the bytes 
(to the disk. 



LDX 112*16 

LDA ItCPBIN 

JSR PUTGET 

BMI ER2 (Error on writ 

LDX WDONE 

LDA PART-1, X 

BEQ WCL 

CMP 113 (Still part 

BCC NCLOSE (read/write? 

LDA 110 (No, finished. 

STA PART-1, X 

JSR CL0SE2 

LDX WDONE (Wrote all fil 

CPX RDONE (that were rea 

BCS WEND (Yes. 

JMP WMORE INo, writ 



e more. 



(Fini shed? 

(Yes. 

(No, keep going. 



LDA PART-1, X 

BNE BAK 

CPX COUNT 

BED FINI 

JMP SRC 



LDA » <ME7 [BREAK key abort 

LDX It >nG7 (message. 

JSR PRINT 

LDA II <M5S (Ask if more 

LDX * >MS5 (files to copy. 

JSR PRINT 

LDA II <BUFF (Accept input. 

LDX « >BUFF 



JSR INPUT 
BMI FINI 
LDA BUFF 
CMP »'Y 
BNE EXIT 
JMP INIT 
JMP (DOSLOC) 



(Retry if error. 

(More to copy? 
(No. 

(Yes, restart. 
(Indirect jump. 




RTRRI 

SOFTWARE 

PROTeCTION 

recHHfOues 



^EEDHGE (nOHHISaW, 



ADVANCED 

RTRAI 

PROTeCTIOH 

TECHNIOUes 



^GEORGE nOHRiaXt- 



THEBOOKI 



THE BOOK II 



BOOK I + DISK: (TheOriginal)Thoroughly explains the techniques used by advanced 
software pirates, and the copy prelection methods used to stop them, ll oilers clear and 
understandable explanations sophisticated enough for software writers of any scale yet 
easy enough lor a beginner just wanting to learn more about Atari"' computers. A MUST 
READ FOR ALL ATARI' OWNERS. 

BOOK! INCLUDES: • Duplicate sectoring • Custom disk formatting • Creating "BAD" 
sectors • Hardware data keys • Legal protection like copyrights, trade secrets, patents 

• Protecting BASIC programs • Sell-modilying Code • ROM + EPROM cartridges 

• Hidden serial numbers " Self-deslruciing programs • Freeware • Misassigned sectoring 

• Much, much more. 

, DISK I INCLUDES: • Directory mover • VTOC scanner* Duplicate sector finder • Sector mover* Bad sector writer • 
Sector data displayer • Autorun builder • Other useful programs. 

This comprehensive book and disk package should not be confused with low quality imitations olfered elsewhere. 
BOOK II + DISK II: Advanced Software Protection. This all new sequel starts where the highly acclaimed Book 
leaves off. Book II is the most up-to-date resource available for the Atari- owner. Includes reviews and explanations 
of products such as; The Happy Enhancement ', The Impossible ', The Scanalyzer ', TheChip ', The Pill ' and Super Pi 
& many others, 

BOOK II: Tells you specifically what Ihey copy, what 1 hey won't, how they are used, and the details ol how they work. 
Book II also includes such topics as: • Transmitting protected programs • Copying disks with more than 19 sectors/lrack 
• Data encryption " Phreaking methods • Program worms • Logic bombs • Bank-select cartridges • Random access 
codes • New trends in software law • Sample BASIC + Assembler programs • On-line security • And much more. 
DISK II INCLUDES: • Automatic program protector • Custom format detector • Newest protection demos • Forced 
password appender • Data encrypler • And much more. 
OFFICIAL RELEASE DATE: APRIL 30— ORDER NOW TO RESERVE YOUR COPY. 

Book + Disk Packages only $24.95 each or Special Offer both for only $39.95 




Print you( Alari graphics like you've never seen beloret Magniprlnl 11 is the most powerful print utillly 
available for your computer. II is the only soltwaro thai can accurately print GTIA modes wjth 16 shades. 
• Prints all graphic modes (not text modes 1 a 2) • Can blow up your pictures to wall sized posters 
• Special option lets you center the picture on the page • Shrink Ihem down to H page • Works 
with NEc5. CITOH, EPSON or Gemini printers with graphics (B50 Interlaco or equivalent re- 
quired) • Accepts your own graphics creations or those created with Graphics Master*, 
Micropainter-. Fun Wilh An*. Super Sketch*, Atari Graphics Light Pen*, B/Graph*. Koala Pad". 
Atari Touch Tablet". Paint*. Strip Poker*. Graphics Magician*, and others • Includes many 
beautiful sample pictures • Does amazing graphics with your standard printer and paper 
• Special lealure lets you modify pictures with your joystick • Add text to your pictures • Can 
convorl a graphics mode 9 piclure to a graphics mode 8 one (and vice versa) • Allows you 
to print the whole screen or any solocted portion of the screen in multiple sizes • Includes 
HELP screen for easy use • Pnnls GTIA modes 9, 10, and 11 with 16 dilferenl shades- Quick- 
Print lets you have a quick preview ol the picture • See your pictures in full GTIA shades. 

Posters print along continuous sheets ol paper ItO/l QIZ 

which are attached together when done. ONLY^^H.O J 

h every Magnipfint II order g et '•PRINTAL L' FREE- PRINTALL prints your programs and files just as Ihey 
the screen. It clearly prints MJpJJ;tJJ and all the Atari graphics characters, and prints In regular or 
Iprinl. This alone is worth the price. 



I Actua lly don e! 
[with Magnlprint| 









ERSONAI^ 



tABTRIDGE TO DISK 
COPY SYSTEM 



Yes, for only £39.95 you can make working copies of all your Atari" computer cartridges (16K 
will let you save your cartridges to ordinary disk (ilos. They will run exactly like the or 
Impersonator. Each disk holds up to 12 cartridge programs. Now you can put all your real car 
and use the Impersonator for everything. YES, IT REALLY WORKSI The Impersonate 
I everything the high-priced cartridge back-up systems do . . . and MORE 



rlridges away for sale keeping 
•'°" ONLY $39.0-^ 



■ 1 I 



BONUS: Order any 3 
. programs & gel FREE, 
- Deluxe Space Games 

(3 games on a dlsH) 



I 

I Establixh pointar to FNAnES 



I 



LOft » <tFNflnES-l&3 

STA IPS 

LDA * >tFNAM6S-16] 

STA ZPB+1 

JSR INCZPS 

DEX 

BNE LPS 

RTS 



I Incrainant pointer to FNAHES 

INCZPG LDA ZPS 
CLC 

ADC «1& 

STA ZPB 

BCC INCX 

INC ZPB+1 
RTS 



INCX 

I 

I Display error 



ERROR 



STY FRB 
LDA *0 
STA FRa+1 

JSR IFP 
JSR FABC 



JStora error # 
i in floating 
Ipoint ragimtar. 

IConvart to 
■ASCII format. 



EL2 
I 



I 



LDY »a 

LDA (INBUFF),Y 

BMI EL2 iCopy error « 

ORA *12e Ito aassage. 

STA ERR+3S,Y 

INY 

BNE ELI 

STA ERR+35,Y 



LDA tt <ERR 
LDX » >ERR 
JSR PRINT 
LDA ZPB 
LDX ZPB+1 



IDimplay error 
I mCBsage. . . 

CMith name 
)of file. 



I Display memaage to screen 

PRINT STA ICADR 

STX ICADR+1 

LDX *e 

LDA HCPTXT 

STA ICCMD 

LDA lt2S5 

STA ICLEN 

STX ICLEN+1 

JMP CIO 
I 

I Memaaga to display error 
I (space reserved for ■filanafna) 

ERR .BYTE »7D, " 

.BYTE "Not copied " 
.BYTE +»BB "ERROR 000" 
.BYTE »1C,*1C,E0L 

1 

I Puts/Qats bytes to/froffl disk 



PUTGET 


STA 


ICCMD, X 




LDA 


ZP2 




STA 


ICADR, X 




LDA 


ZP2+1 




STA 


ICADR+1, X 




LDA 


FLEN 




STA 


ICLEN, X 
FLEN+1 




LDA 




STA 


ICLEN+1, X 




JMP 


CIO 


1 Close 


file 


1 or 2 


CLDSEl 


LDX 


*«10 




BNE 


CLOSE 


CLDSE2 


LDX 


**20 


CLOSE 


LDA 


ItCCLOS 




STA 


ICCMD, X 




JMP 


CIO 


t Accap 


t input from keyboard 


INPUT 


STA 


ICADR 




STX 


ICADR+1 




LDX 


• 




LDA 


HCSTXT 




STA 


ICCMD 




LDA 


«2S3 




STA 


ICLEN 




STX 


ICLEN+1 




JMP 


CIO 


1 Same 


as BASIC 


1 OPEN 
ipEN 


tCHAN 


MODE, 0, BUFF 


STA 


MODE 




LDA 


CHAN 




ASL 


A 




ASL 


A 




ASL 


A 




ASL 


A 




TAX 






LDA 


DCOPEN 




STA 


ICCMD, X 




LDA 


MODE 




STA 


ICAUX,X 




LDA 


«0 




STA 


ICAUX+1,X 




LDA 


ZPB 




STA 


ICADR, X 




LDA 


ZPE+1 




STA 


ICADR+1, X 


1 

1 

1 Usaab 

1 
MEH 

1 


JMP 


CIO 


*a 


»+2Si I (Safety buffer 


le memory starts here 


- 


» 


«3: 


GOADR 




.WORD INIT J (Autorun -file) 




.END 



1CALL: 216-374-7469 to charge Id MasterCard or VISA 
OR MAIL TO: Alpha Syslems/ 4435 Maplepark Rd. /Slow, OH 44224 
Send check or money order. Include $2.00 shp. & hdlg. ch 
Ohio residents add 5'/;% sales lax. 



:ii 



CIRCLE #114 ON READER SERVICE CARD 



A 

ATARI 

$69.95 (Rom) 

$49.95 (D or C) 



Vastly SUPERIOR to any translation programs 

availablel FOR ATARI 

1200XL/600XL/800XLwitti 64K. 

(Please specify computer model numberl) 



THE 

XL "FIX"! 



A 

ATARI- 

$69.95 (Rom) 
$49.95 (D or C) 



Ttie Atari XL series computers represent power, soptristication. and 
flexibility virtually unrivalled in todays Home Computer Market. 
Witti "approximately" 30-40% of existing software being "incom- 
potoble", a real, and serious problem exists. Because of ttiis we 
hcjje developed THE XL "FIX"I 
ADVANTAGES over ctieoper "translation products": 

1. The XL "FIX"! is capable of fixing more software ... an estimated 
30% more software! 

2. Ttie XL "FIX"! is available in DISK, CASSEHE, and now ROM! 

3. XL "FIX"! versions fix ALL THREE types of software (Disk - Cassette - 
and Cartridges!) 

4. Thie XL "FIX"! (disk or cossette) adds OVER 4K of usable RAM to your 
computer (anyone using Data bases or Word processors will really 
appreciate ttiis feature!) 

5. You never tiave to tioid ttie OPTION button down on 600XL or 
800XL computers! 

6. 'i/ERY IMPORTANT! You need to load the XL "FIX"! only once ... you 
canchangedisks. cassettes, or cartridges withoutrebooting the XL 
"FIX"! each time (disk or cassette)! 

7. The ROM version is instantaneous upon computer power up, has a 
high speed cursor, is instantly switchable to your original operating 
system, will work with 16K 600XL's, and morel 

The XL "FIX"! .... another SUPERIOR product! 64K required! 
DISTRIBUTOR/DEALER inquires welcome 



Mastercard-Visa-Money 
Order or Cashier Checl<. 
Phone (716) 467-9326 

Please specify computer 
model numberl 



Send S49.95 (S69.95 for Rom) 
plus $4 shipping and handling 
(N.Y.S. residents olease add 7%) to: 
COMPUTER SOFTWARE SERVICES 
P.O. Box 17660 
Rochester, New York 14617 



A 

ATARI 

ONLY 

$49.95 



PROTECT your DISK programs and 
files BEFORE lending mem out! 

THE 

"PROTECTOR"!™ 



A 

ATARI 

ONLY 

$49.95 



Includes hardware and software! The "PROTECTOR" 
produces a true BAD SECTOR GENERATOR which will allow you 
to create BAD SECTORS wherever you wish (approximately 10 
per second!). You'll never have to fool witti ridiculous speed 
adjustment or tape jerking schemes again! Simple do it 
yourself installation requires 15 to 20 minutes! 

The DISK software is the most versatile that we've ever seen 
and it's lightning FASTI Allows you to move and rearrange data 
anywhere on the disk, scrambles directories making them un- 
occessible to others, and offers IMSTANT mapping of file disks 
(requires one second for ENTIRE disk!). Simple operation. 

All these features are done from a 720 sector FULL VIEW 
mop for total operator viewing and simplicity! 



Multiple drives 
Digitial SECTOR indicator 
Directory scrambler 
Moves/arranges data 
Selectable read/write 
Selectable start/end 
Hex conversion 
Disk Duping 



• Disk mapping 

• Instant map 

• Compaction 

• Fast formating 

• Auto-formating 

• Bod sector memory 

• Instant restart 

• Multiple copy function 



DEALER/DISTRIBUTOR INQUIRIES WELCOME! 

Our other fine products include 
THE "PIU" and THE "SIIENCER". 



Send $49.95 plus $4 shipping 
and handling (N.Y.S. resi- 
dents add 7% soles tax) to: 
COMPUTER SOFTWARE 
SERVICES 
P.O. Box 17660 
Rochester, New Yortc 14621 
Phone Order: 
(716) 467-9326 



Mastercard-Visa-Money 
Orders or Bank Checks. Atari 
Is a TM of Atari Inc. The 
"PROTECTOR" is a TM of 
COMPUTER SOFTWARE 
SERVICES (division of S.C.S.D., 
Inc.) 100% WARRANTY 
(replacement only - no 
refund policy.) 



A 

ATARI- 

ONIV 

$149.95 



For years they said it couldn't be done . 



THE 

"IMPOSSIBLE"! 



they claimed! 



A 

ATARI- 



Backup almost any disk currently available (even heavily protected programs) with an UNMODIFIED disk drive! $i49.95 

Works with ANY disk drivel 



PURPOSE: The "IMPOSSIBLE" was developed in response to the estimated half million disk drive users that own a drive other than the Atari 810 (Indus, Per- 
com, Trak, Rana, Astra, etc.) that wish to BACK UP their protected software. Due to a radically new technology developed by Computer Software Ser- 
vices, modification to your disk drive has been eliminated! The advantages are obvious! Drive warranties are not violated, the chance accidental 
damage has been eliminated, etc., etc. 

OPERATION: The "IMPOSSIBLE"! consists of a disk program (unprotected so you can make as many backups as you wish) and a 4K STATIC RAM pack 
which is inserted into your computer (no soldering!)The "IMPOSSIBLE"! will read your program disk and then re-write it In an unprotected form at! You may 
mcke additional backup copies using a sector copier or even regular DOS! Because your backup copy no longer has BAD SECTORS or EXOTIC FORMATS, 
the program data can now be manipulated into DOS compatable files (even double density!), transfered to cassette, etc. (with the aid of our Satellite 
programs!) No user programming knowledge required. A few programs require logical thinking. 
FEATURES: 1 Backup protected disks 5. AFSD-Automotic FUZZY Sector Discriminator 

2. Handles most MULTI-LOAD programs 6. Expands computer memory to 52K usable 

3. Makes DOS files (with Satellite option) 7 Simple NO SOLDER installation 

4. Up to 90K data input capable 8. Satellite expandable 

PROJECTED SATELLITES: A "COMPACTOR" program which will convert your program into DOS compatable files (double density compatable!) for the 
storage of several programs on one disk. A "COLUMN 80" program for Word Proccessing, etc. It allows 80 columns on the screen! The "XL-MATE" will allow 
programs made with your 400/800 "IMPOSSIBLE"! to now play on your XL Computer! The METAMORPHOSES II program will allowyou to convert your pro- 
tected CASSETTES into disk DOS files and vice-versa. All satellite programs must be used with inconjunction with The "IMPOSSIBLE"! 
REQUIREMENTS: The "IMPOSSIBLE" diskette, the 4K STATIC RAM pack, a 400 or 800 computer (please specify!) with 48K and "B" Rom's. NOTE! The very old 
ATARI computers were shipped with "A" Rom's which hod some serious "Bugs". Even if you don't own on "IMPOSSIBLE,"you should upgrade to "B" Rom's 
(simple to install!) We have them available at a very inexpensive price CALL US! "XL" version available soon! 

NOT A PIRATING TOOL; We at C.S.S. did not design The "IMPOSSIBLE"! to put Software Manufactures out-of-business overnight! Nearly all of our products 
have been "ripped-off" by industry parasite who have little or no ability to develop a product of their own so we can sympathize with their dilemma. All 
C.S.S. products have built-in safe guards which prohibit their use for flagrant pirating. The "IMPOSSIBLE"! is no exception! While The "IMPOSSIBLE"! back- 
up the most heavily protected programs, it also checks to see that the 4K STATIC RAM pack is installed before allowing the backup copy to 
execute! 



EXAMPLES: The "IMPOSSIBLE"! has been tested on 300 of the most pop- 
ular and heavily protected programs we could find. With nearly 4000 
programs for Atari, we DO NOT guarantee that it vAl\ backup all pro- 
grams in the past-present-end future! We will supply updates at $6 each 
(non-profit!) if and when necessary. Programs we hove successfully 
backed up include: Blue (■/ax. Visi-cal, Archon, Mule, File Manager 800 
-, Syn Calc, Syn File, One on One, 7 Cities of Gold, Super Bunny, Load 
Runner, Drol, and Gumboil just to name a few! 



Mastercard- Visa-Money 
Orders or Cashier Check. 
Phone:(716)467-9326 

Please specify computer 
model numberl 



Send $149.95 plus 

$4 shipping and handling 

(N.Y.S. residents please add 7%) 

COMPUTER SOFTWARE SERVICES 
P.O. BOX 17660 
ROCHESTER, N.Y. 14617 



CIRCLE #115 ON READER SERVICE CARD 



PAGE 30 



ANALOG COMPUTING 



ISSUE 29 




%.• 




EX.TE1V13ED 

CALCULATIONS 



m 
m 



16K Cassette or Disk 



z^ 



by Donny Cherf 



I'm sure that there have been many times when 
you've needed to figure up some arithmetic calcula- 
tions that have exceeded the maximum length your 
computer will accurately display. And then, you end 
up with an answer similar to 4.8374953E23. This is 
the computer's (and most calculators') way of handling 
these large numbers. 

For those of us who have never seen this type of 
representation, it's called scientific notation and, in 
this example, it means 4-8374953 times 10 to the 23rd 
power, or 483,749,530,000,000,000,000,000. All you 
have to do is move the decimal point over twenty- 
three places and put Os in the spaces. 

It happens to be a very convenient way to handle 
large numbers but, unfortunately, it's not accurate 
toward the latter part of the number. Sure, the first 
digits are accurate, but what about the last ones? How 
it is possible to arrive at a 24-digit number that is 
accurate to the final digit?. . .especially on computers 
that give only JO-digit accuracy, not to mention hand 
calculators? 

Well, it is possible. One method, which I'm sure 
many of you have tried at one time or another, is to 
actually hand multiply (gasp!) the equation. And how 
many out there are that sure of their multiplication 
of these numbers that they need never go back and 
recheck their work? So you really end up multiplying 
the two numbers twice. 



%Jf 



Another method. 

An easier way is to multiply the two numbers in 
segments that will not surpass the computer's readout. 
Here is an example. 

Presume that you want to multiply two 8 -digit num- 
bers accurately to the last digit. We'll let the two num- 
bers be 86273482 and 54856358. First, let's set these 
up as we would a multiplication problem. 

86273482 
54856358 

There is the equation. I'll perform this as if the com- 
puter or calculator has only an 8-digit display. It must 
be agreed by all that an n-digit number multiplied 
by an m-digit number yields a number that is n times 
m digits long (or n times m minus 1, if the numbers 
don't carry over). 

To clarify, a 4-digit number times a 5 -digit number 
will produce a 9-digit number at most or, perhaps, 
an 8-digit number if the multiplication doesn't carry 
over into the ninth digit. Try it if you're having dif- 
ficulty understanding. 

Since we've seen that a 4- and a 5 -digit number 
yield a result that's already over the 8-digit limit, we'll 
set our working limits to 4-digit segments. 

Let's rewrite the equation now, with periods separat- 
ing the numbers into 4-digit components. 

8627.3482 
5485.6358 



ISSUE 29 



ANALOG COMPUTING 



PAGE 31 



It's easy from here on out. All we have to do is mul- 
tiply the segments together while keeping track of 
where to place them below the line. 

First, multiply the two rightmost segments together. 
So that's 6358 (from the lower number) times 3482 
(from the upper number). That yields 22138556. Now, 
we simply position it under the line. 

8627,3482 
5485.6458 

2213.8556 

As you can see, I'm going to leave the numbers un- 
derneath separated by carets, also. Next, let's multi- 
ply the lower right segment, 6358, times the upper 
left one, 8627. This gives us 54850466. All we have 
to do now is figure out where it goes. This isn't diffi- 
cult, either. 

When we multiplied 6358 times 8627, we were ac- 
tually multiplying 6358 times 86270000. We left the 
Os out of the equation, because our computer's dis- 
play can hold only eight digits, supposedly. By elimi- 
nating these Os temporarily, we are able to multiply 
this accurately. 

So now, for visibility's sake, and since we already 
have the result figured up, let's put those Os back. We 
take 54850466 and attach the four Os to the end, giv- 
ing us 548504660000. 



8627.3482 
5485.6358 

2213.8556 
5485.0466.0000 

Now let's multiply the lower left segment, 5485, by 

the upper right segment, 3482. This yields 19098770. 

And, just as I explained above, the lower number is 

actually 34820000, so let's attach the Os to the end 

of the resuk again. We get 190987700000. 

8627.3482 

5485.6358 

2213.8556 
5485.0466.0000 
1909.8770.0000 

For our last multiplication, we take 8627 times 5485 
to arrive at 47319095. This time, though, both num- 
bers have extra Os that we've ignored for the multipli- 
cation. The two numbers are actually 86270000 and 
54850000; the resuk is-gulp!— 4731909500000000. 
We have to add all eight Os to the end of our result, 
so the calculation will be correct. Let's place that into 
our problem now. 

8627.3482 

5485.6358 

2213.8556 

5485.0466.0000 

1909.8770.0000 

4731.9095.0000.0000 



(continued on next page) 



FOR ATARI *400/800/1 200/600XL/800XL' 



«^S^t s®ss 



For ATARI 800XL, 600XL with 64k. 
Replacement operating system to run the 
vast majority of all ATARI software. No 
translator or disk to load! 
Proper RESET operation especially impor- 
tant for programs like LETTER PERFECT, 
DATA PERFECT, TEXT WIZARD, etc. 
One touch access to extra RAM, all RAM. 
One touch BASIC on. 
Easy plug in installation. 

NOW INCLUDES DUAL OPERATING 
SYSTEM BOARD! 

'Includes MacroMon XL which is an ex- 
cellent, unique monitor for beginner and 
pro alike— written especially for the BOSS. 
$79.95 for 800XL/600XL with 64K*. 



"^ 



Uen 
acroware 




PRinTUXS 



An all machine language text, 
graphics, mixed mode dump for EP- 
SON, GEMINI, NEC, PROWRITER, 
OKIDATA, M-T SPIRIT, 160L, 
KXP-1090, DMP-80, ISD 480, 
SEIKO/AXIOM GP550A. 
Self booting can be used while pro- 
gramming or even running other pro- 
grams. 

Works with or without BASIC, 
ED/ASM, PILOT, LOGO. Calendar 
generator. Horizontal format allows 
text to be continued in same direction. 
Change widths, height, center and 
much more from the keyboard or your 
program. Special handlers for PAINT, 
Micro-Illustrator, LOGO, Micro- 
painter, etc. Includes LISTER program 
for inverted and special characters plus 
demos and ideas. $29.95* 16K Disk- 
All Interfaces. 



diskwiz-ll 



Fast and easy to use repair, edit, ex- 
plore, dup, disk utility package. Single 
load, single or double density. Special 
printout capabilities. 
Repair or change of linked DOS2 or 
OSA-l-2 files, directories, dup 
filenames. Fast searches, mapping, file 
trace. Disassembler, speed check and 
much more! Low priced, fast, easy, 
and powerful! $29.95 16K Disk. 

Send s.a.s.e. for update info. 

'TERMS: U.S. funds; check or M.O. 
add $2.50 shipping/handl- 
ing add 6% CA- 6.5% LA 
COUNTY add $3.00 for 
C.O.D. No charge cards ac- 
cepted add $2.50 foreign 
orders normally out within 
48 hours. 



P.O. BOX 2205/REDONDO BEACH, CA 90278 

(213) 376-4105 

* Trademark of Atari, Inc. 



CIRCLE #116 ON READER SERVICE CARD 



PAGE 32 



ANALOG COMPUTING 



ISSUE 29 



(continued from page 31) 

Have you noticed that this is very similar to regu- 
lar multiplication, except that we're doing groups of 
digits instead of single digits? 

Finally, all that's left to do is add up all the digits 
as if this were a normal multiplication problem — 
which it is, pretty much. 

8627.3482 
5485.6358 

2213.8556 

5485.0466.0000 

1909.8770.0000 

4731.9095.0000.0000 

4732.6490,1449.8556 

That's it. We now know that 86273482 multiplied 
by 54856358 equals 4,732,649,014,498,556, accurate 
to sixteen decimal places. And, once you know what 
to do, it isn't that difficult to accomplish. 

Even better. 

So where is all this leading us, you might ask. Well, 
there is an easier method to multiply out these huge, 
sometimes massive numbers. 

Oh, no! Another lecture! Ah, but this example will 
be short. Just type in Listing 1, NUMMULTR (re- 
member to SAVE it) and RUN it. At the prompts, 
enter both numbers to be multiplied and let the com- 
puter do the rest. 



When it has finished its computations, it will print 
the answer — accurate to the last digit. It will only ac- 
cept three lines of input, which limits your numbers 
to 119 digits each, giving a result 237 or 238 digits 
long. But, for most, this will be enough. 

For equations that need more, you'll have to write 
up a routine for inputting additional digits with more 
prompts, plus you must dimension the strings A$ and 
B$ to higher values. The maximum number of digits 
that the final result can be will depend on how much 
memory you have. With the 48K Atari 800, the max- 
imum is about 28000 digits. 

Listing 2 is similar in nature. It's useful for the many 
times that you've needed to simply double numbers 
into infinity. Entitled NUMDUBLR, it has the abili- 
ty to (beginning with 1) double itself until it is a 
2 8000 -digit (or more) number. 

This program works by placing a J in the very last 
position of a string and then doubling the contents 
of the string, one character at a time, from the end 
of the string to the beginning. It pulls each digit out 
of the string, doubles it, checks to see if there is a 
carry, and then places the result back into the same 
string. 

It does have an added routine that's necessary to 
check if a i is carried over to a 9. If so, then it will 



WHAT IS 
CHECKSUM DATA? 



Most program listings in ANALOG Computing are followed by a table of numbers appearing as 
DATA statements, called "CHECKSUM DATA." These numbers are to be used in conjunction with 
D:CHECK and C:CHECK (which appeared in ANALOG Computing issue 16 and the ANALOG 
Compendium) or with Unicheck (from issue 24). 

D:CHECK and C:CHECK (written by Istvan Mohos.and Tom Hudson) and Unichecl< (by Tom 
Hudson) are designed to find and correct typing errors when readers are entering programs from 
the magazine. For those readers who would like copies of these articles, you may send for back 
issue 16 or 24 ($4.00 each) or the ANALOG Compendium ($14.95 plus $2.00 shipping and han- 
dling from: 

ANALOG Computing 

P. O. Box 61 5 
Holmes, PA 19045 



ISSUE 29 



ANALOG COMPUTING 



PAGE 33 



continue to check to see if it carries over to any more 
9s. 

Ad infinitum (or close). 

And that's it. You can now amaze your friends by 
performing calculations more immense (almost) than 
can be imagined. D 

Listing 1. 



leO DIM A$C119},B$fll9),T$0) 

110 INPUT A$,B$ 

128 A=LENCA5) :B=LENCB$) :5=A+B 

130 DIM 55 C5) 

140 SS="8" : 5S CSJ ="0" : 55 C2J =55 

ISO A1=A-S:IF AKI then A1=1 

160 B1=B-3:IF BKl THEN Bl=l 

170 T3UAL f A5 CAl , A] )«UAL CB5 CBl , B) ) 

180 T5=5TR5CT> :T=LENCT5J 

190 T5=5TRS CVAL f T5J +VAL C55 C5-T+1 , 5J J J 

288 K=l:IF LENCT5]>T THEN K=2 

218 55C5-T+1,5J=T5CKJ 

228 IF K=l THEN 288 

238 K=8 

248 C=8:U=VALt55C5-T-K,5-T-K>}+l 

258 IF W=18 THEN V=8:C=1 

268 55C5-T-K,5-T-K)=5TR5CV} 

278 IF C=l THEN K=K+1:G0T0 248 

288 IF B1>1 THEN B=B-4 : 5=5-4 : GOTO 168 

290 IF A=l THEN ? "Answer: ";55:END 

388 B=LENfB5) :A=A-4 

318 5=LENC55)-LEN(A5)+A:G0T0 158 



CHECKSUM DATA. 

(see page 32) 

188 DATA 84,88,553,795,105,645,657,991 

,248,795,643,888,539,212,902,8857 

250 DATA 188,658,836,860,824,620,967,4 

873 



Listing 2. 

18 REM C=fMAKIHUM OF MEMORY MINU5 58) 

28 REM DELETE ALL REM5 BEFORE ? FREC8} 

38 REM TO FIND MAXIMUM MEMORY 

35 C=FRECe)-5e:IF 032767 THEN C=32767 

48 DIM A5CC) :A5="8":ASCC)="8":ASC2)=AS 

:ASCC)="1":J=8:K=8 

58 REM ENTIRE DOUBLING ROUTINE 

68 FOR 1=0 TO J:A=2»WALtASCC-I,C-IJJ+K 

:K=8:IF A<18 THEN 80 

78 A=A-10:K=l:IF I=J THEN J=J+1:A5CC-I 

-1,C-I-1)="1" 

88 A5CC-I,C-I)=5TR5CA):NEXT I:K=8:? AS 

CLENCA5]-J,LENCA53):IF J<=C THEN 68 



CHECKSUM DATA. 

(see page 32) 

18 DATA 348,898,128,521,937,354,107,98 
9,913,5179 



«sssss=^ 




YOU CAN'T TELL 

A DISK DRIVE 

BY ITS COVER!! 




WITH A HAPPY ENHANCEMENT INSTALLED THESE ARE 
THE MOST POWERFUL DISK DRIVES FOR YOUR ATARI COMPUTER 

WARP SPEED SOFTWARE DISK READING AND WRITING 500% FASTER 

HAPPY BACKUP — Easy to use backup of even the most heavily protected disks 

HAPPY COMPACTOR — Combines 8 disks into 1 disk with a menu 

WARP SPEED DOS — Improved Atari DOS 2. OS with WARP SPEED reading & writing 

SECTOR COPIER — Whole disk read, write and verify in 105 seconds 

1050 ENHANCEMENT — Supports single, 1050 double, and true double density 

810 ENHANCEMENT — Supports single density 

SPECIAL SUGGESTED RETAIL PRICE: Get the HAPPY ENHANCEMENT 810 or 1050 version with the HAPPY BACKUP PROGRAM, 
plus the multi drive HAPPY BACKUP PROGRAM, plus the HAPPY COMPACTOR PROGRAM, plus the HAPPY DRIVE DOS, plus the 
HAPPY SECTOR COPY, all with WARP DRIVE SPEED, including our diagnostic, a $350.00 value for only $249.95. for a limited time only! 
Price includes shipping by air mail to U.S.A. and Canada. Foreign orders add $10.00 and send an international money order payable through a 
U.S.A. bank. California orders add $15.25 state sales tax. Cashiers check or money order for immediate shipment from stock. Personal checks require 
2-3 weeks to clear. Cash COD available by phone order and charges will be added. No credit card orders accepted. ENHANCEMENTS for other 
ATARI compatible drives coming soon, call for information. Specify 1050 or 810 ENHANCEMENT, all 1050s use the same ENHANCEMENT. 
Please specify -H model for all 810 disk drives purchased new after February 1982, call for help in 810 ENHANCEMENT model selection. Dealers 
now throughout the world, call for the number of the dealer closest to you. ATARI is a n^gisiered tiademark of Atari Comisuicv [nc. 



HAPPY COMPUTERS, INC. 



p. O. Box 1268 • Morgan Hill, California 95037 • (408) 779-3830 



CIRCLE #117 ON READER SERVICE CARD 



PAGE 34 



ANALOG COMPUTING 



ISSUE 29 




^^m^^^ 




•ajgssKsf^ 



COMPATIBILITY 



by Dwight Stanley 



When Atari released their new XL line of comput- 
ers, they gave us a tremendous gift, namely "upward 
compatibility."" Contrary to the practice of some com- 
puter manufacturers. Atari chose to recognize the re- 
tail base of existing Atari owners. I'd like everyone 
to stand up with me and applaud Atari on their in- 
sight for this compatibility. 

Hey! You're not standing. How come? You say you 
know of a program that won't run on the XLs. You 
say you're angry at Atari and that they let you down! 
Now, wait just a minute — you're making me angry. 

Why should I be? 1 own an 800 and have never 
owned an XL. My ire is up because 1 believe that: 
we have the best personal computer on the market; 
Atari has, in fact, honored us in making the XLs com- 
patible; and most problems of incompatibility are the 
fault of programmers, not Atari. Do you realize that 
Atari is one of the few personal computer manufac- 
turers that has released documented source codes for 
the Operating System and DOS? 



Now, how do you feel? More pleased with Atari, 
1 hope. In this article, I want to pass on some infor- 
mation to make your machine language programming 
compatible with the XLs. 

I'm not a professional programmer, nor do I profess 
to know all. However, by being an active computer 
hobbyist for over four years on the Atari computers, 
1 have gathered bits and pieces of information from 
hundreds of magazines and books. From countless 
hours of reading, I have found Atari's basic Rules of 
Compatibility. They are: 

(1) Respect all memory below page 7 ($0700), 
and 

(2) Make no illegal calls to the OS. 

First, let me say that the majority of problems with 
incompatible software is the result of sloppy program- 
ming. I know of many programs that have made one 
or two stupid jumps to the OS which aren't compat- 
ible. I also know of many programs that abuse lower 
memory and also wind up incompatible. So, what can 
be done?. . . 



ISSUE 29 



ANALOG COMPUTING 



PAGE 35 



. . . with incompatible commercial software? You should 
write to the manufacturer of the software and let them 
know how you feel. Unless you speak up, you won't 
be heard. 

. . .with incompatible magazine software? I believe 
magazines should be responsible for ensuring compati- 
bility of their programs. Most magazines are young 
and need a solid reader base. They will surely lose 
out if they ignore the XLs. 

. . . with incompatible public domain software? Take the 
software to your user's group or club. Either with a 
more experienced member or even the whole group, 
look at the software. Find what is wrong, fix it and 
then send a letter to your favorite magazine to help 
others. 

For budding machine language programmers, I sug- 
gest you read the following and make sure you under- 
stand it. Also, purchase a copy of the Atari Technical 
Users Notes and/or De Re Atari. If you can gain just 
one piece of information, they're well worth it. 

When you make your program — and it works — take 
it to a store, club or friend and try it on an XL. Don't 
quit until it works. I guarantee you'll appreciate it! 

I cannot stress how important it is to all of us that 
we recognize the XLs and do all we can to help our 
new brothers and sisters succeed. Each and every one 



of us is responsible for the future of Atari and our 
hobby. If we lose just one person who throws up their 
hands and says, "Forget it — Atari isn't what it says 
it is," then we all will suffer. 

And, who knows . . . soon many new hardware and 
software goodies for the XLs could leave us oldtime 
400 and 800 owners in the incompatible cold. 

Respect all memory below page 7 ($0700). 

According to the Atari Technical Users Notes, page 
addresses below $80 are reserved for computer use. 
That leaves 128 bytes for your use, which should be 
enough. If you need more of page 0, I suggest that 
less frequently used variables be stored in higher ad- 
dresses and moved to page when needed. 

Although there may seem to be empty locations, 
stay out; they may not be empty for long. Some pro- 
grammers have used seemingly empty locations in 
page 2 ($0200). Most of these locations are used in 
the XLs. Stay out! 

Even more locations seemed empty above the device 
handlers in page 3 ($0300), but guess what? Ah, you 
guessed! They're now used, too. Page 4 is still an in- 
put buffer, and page 5 is still reserved. 

Now, page 6. It's still reserved as a somewhat-free 
RAM. However, use it only if needed. That still leaves 
$0700 to $BFFF for your program. . .whew! 



WHITE HOUSE 
COMPUTER 



Ask About Phone Rebates! 

1-717-322-7700 
P.O.BOX 4025 WILLIAMSPORT, PA 17701 



DISK DRIVES 

ATARI 

Indus GT $259.00 

1050 $169.95 

COMMODORE 

Indus GT $255.00 

1541 $235.00 

MSD DRIVES 

Single MSD 1 $309.00 

Dual MSD 2 $485.00 

BLUE CHIP 
100% Compatible 

C-64 Disk Drive 

Double Density $225.00 

DISKETTES 

SKC 

SS/SD $11.95 

SS/DD $14.95 

DS/DD $18.95 

MAXWELL 

MD-l $18.95 

MD-2 $23.95 

ELEPHANT 

SS/SD $14.95 

SS/DD $16.95 

DS/DD $21.95 

INNOVATIVE 
CONCEPTS 

Flip-N-Hle (10) $3.50 

Flip-N-File (15) $8.50 

Flip-N-Fiie (25) $ 1 8.50 

w/lock 

Flip-N-File (50) $17.50 

Flip-N-File (50) $23.50 

w/lock 

Flip-N-File $17.50 

BOM Holder 



WICO 

Bat Handler Joystick ...$16.95 

3-Way Deluxe $21.95 

Boss $13.95 

SOFTWARE 

BRODERBUND 
"ATARI" 

Print Shop $31.95 

Bank Street Writer $39.95 

Spelunker $21 .75 

Stealth $21.75 

Loderunner $22.95 

"C-64" 

Print Shop $31.95 

Bank Street Writer $37.95 

Spelunker $21 .75 

Stealth $21.75 

Loderunner $22.95 

BATTERIES INCLUDED 

Paper Clip 

w/Spell Pk $69.95 

Paper Slip $59.00 

Home Pack $32.95 

Bus Card $137.95 

Bl 80 Board $137.95 

INTERFACES 

MPP 1150 $64.75 

Uprint N Port $59.00 

Apple Dumpling GX $65.00 

MPP 1 1 52 BuHer Kit ... $1 9.75 
Microprint Economy Printer 

Interface $49.95 

Atari 850 $115.75 

Cardco B $35.95 

Cardco G $59.95 

Micro Stutter 64K Printer 

Buffer $105.00 

Microram 64K Expansion 

for Atari 600 XL $89.00 



COMPUTERS 

Atari 800 XL $119.00 

Commodore C-64 $1 59.00 

SX-64 $539.00 

PRINTER PAPER 

Lazoredge "500" $1 1 .75 

• PRINTER RIBBONS 

• DUST COVERS 

PRINTERS 

• HIGH LITED 
PRINTERS 

PANASONIC 

1091 $265.00 

1090 $209.00 

1092 $415.00 

1093 $650.00 

3151 LQ $490.00 

STAR MICRONICS 

10X $225.00 

1 5X $340.00 

Delta 10 $335.00 

Delta 15 $445.00 

Radix 10 $495.00 

Radix 15 $585.00 

Powertype $309.00 

LEGEND 

880 $220.00 

1080 $240.00 

1200 $250.00 

ATARI 

1020 $59.00 

1025 $189.00 

1027 $239.00 

COMMODORE 

1526 $259.00 

CARDCO 

LQ 1 $435.00 

LQ 3 $309.00 



OKI DATA 

Okidata 92 $349.95 

Image Writer $425.00 

Okimate 10 $179.95 

JUKI 

6100 $379.00 

CITOH 

8510 $285.00 

BLUE CHIP 

Ml 201 C-64 $259.00 

MONITORS 

GORILLA 

Green $78.95 

Amber $84.95 

ZENITH 

122 $85.95 

123 $75.95 

AMDEK 

300 Green $1 35.(X) 

300 Amber $145.00 

Color 300 $250.00 

XTRON 

Comcolor 1 1 4" Composite & 

Separate Video $2 1 5.00 

AA 12X Apple Amber 

All 12X series are hi-res w/Tllt 

and Swivel Base $99.00 

AG 1 2X Apple Green . . . $95.00 
IG 12X 

IB.M. Green $110.00 

lA 12X 

IB.M. Amber $120.00 

1 702 Commodore $239.00 

TEKNIKA 

MJ-IO Composite and 

separate video $235.00 

MJ-22 R.G.G. Composite and 
separate video $289.00 



KOALA 
"ATARI" & "C-64" 

Koala Pads $49.95 

MODEMS 
Mighty Mo 

with Software $79.95 

Telecommunications. . . $69.95 

Westridge $79.95 

Hayes 300 $1 99.00 

Hayes 1 200 $469.00 

MPPl OOOC $99.75 

Apple Cat II $265.00 

CompuServe $24.50 



WE CARRY A FULL LINE 
OF: Batteries Inc., Broderbund. 
Contineal. Hess, Infocom, Inno- 
vative Concepts. Koala, LJK, Mi- 
crobits. Micropose, Microtek, 
O.S.S., Professional S.W., Scar- 
tX)rough, S.S.I., Synapse, Time 
Woriis, Wico - For the ATARI. 
APPLE & C-64. 

POLICY: No deposit on 
COD orders. FREE freight 
on all prepaid cash orders 
over $300.00 in the contin- 
ental U.S. APO & FPO add 
$5.00 per hundred. For pri- 
ority mail add $8.00 per hun- 
dred. PA Residents add 6% 
sales tax Defective products 
must have Prior RA number. 
Schools net 1 5. 



'IF YOU WANT IT- 



• Dealers Inquiries Invited • WE HAVE IT AT THE LOWEST POSSIBLE PRICES" 

HOURS: Monday thru Friday - 9:00 am till 6:00 pm - Saturday 9:00 am till 3:00 pm EST - VISA and MC Accepted 4% - 



CIRCLE #118 ON READER SERVICE CARD 



PAGE 36 



ANALOG COMPUTING 



ISSUE 29 



Make no illegal calls to the OS. 

If you see a routine in the OS that you just have 
to use, my best advice is to rewrite the code in your 
program. I've seen many programs, even in magazines, 
go bye-bye on the XL for less than 20 bytes. Those 
could have easily been included by the programmer. 
Less than 20 bytes'. What difference could that he in 
your program? 

That doesn't mean you can't use the OS to help 
your program; just do it right. Below I'll explain how. 
Please make sure you understand it. 

There are many vectors into the OS. A vector is 
an address guaranteed not to change. So far, none 
have. There are two types of vectors, and both are 
easy to use. 

The first group is straight jump vectors. You can 
simply jump to the vector, and it will jump to the 
appropriate code. For example: 



LDfl «S05 


;This could be 


5Tfl THIS 


jyour code 


JMP SE477 


;Go do coldstart 



Control will be passed to different locations on the 
old 800s than it will on the XLs, but we don't have 
to care. 
Some examples of jump vectors are: 
disk interface 

central input-output vector 
serial input-output vector 
routine for setting VBI 
vectors 

VBI routine vector 
warmstart vector 
coldstart vector 
exit VBI vector 

The second set of usable guaranteed vectors is the 
device handler routines. These may be used to get 
a key from the keyboard or to print a letter to the 
screen, etc. 

All handlers are 16 bytes ($10) in length and start 
at $E400. Each handler has eight entries in the fol- 
lowing order: 



DISKINV 


$E453 


CIOV 


$E456 


SIOV 


$E459 


SETVBV 


$E45C 


SYSBVB 


$E45F 


WARMSV $E474 


COLDSV 


$E477 


XITVBV 


$E462 



$E400 - $E401 

$E402 - $E403 

$E404 - $E405 

$E406 - $E407 

$E408 - $E409 

$E40A - $E40B 

$E40C - $E40E 
$E40F 

Above is the 
vice. The base 
follows: 

E: - $E400 
S: - $E410 
K: - $E420 
P: - $E430 
C: - $E440 



OPEN VECTOR 
CLOSE VECTOR 
GETBYTE VECTOR 
PUTBYTE VECTOR 
GETSTAT VECTOR 
SPECIAL VECTOR 
INIT VECTOR (JUMP) 
FILLER BYTE 

ROM location for the (E:) editor de- 
addresses for other handlers are as 

Editor device 
Screen device 
Keyboard device 
Printer device 
Cassette device 



Okay? Now, the method of using these vectors that 
I'll show you still isn't the proper way of doing things, 
but it will make your programs XL-compatible, so it's 
better than illegal jumps to the OS. 

An example of use would be in a situation where 
you wish to get a key from the keyboard. The base 
address is $E420, and the GETBYTE routine is +$04. 
So we'll use the vector at $E424 - $E425. The key 
pressed will be returned in the A register. 



10 

28 

30 

40 

50 

60 

70 

100 

110 

120 

130 

140 

150 

160 

170 



;This would be your progran 
;code and we want to go get a key 



JSR GET. KEY 



BRK 



GET. KEY 

LDA $E425 

PHA 

LDA $E424 

PHA 

RT5 



;your code would 
;continue here 



;This routine prepares 
;to JUMP into the O.S. 
;by loading vectors 
;on the stack to jump 
;NOH GOTO 0.5. vector! 
;this will return to 
;your code at line 50 



Please note the GETKEY subroutine. This loads 
the vectored address into the stack, and when the pro- 
gram gets to the return from subroutine, it "returns" 
to the appropriate code in the OS. When the OS rou- 
tine issues a return from subroutine, control is passed 
back to your program. If it doesn't make sense, con- 
sider the following BASIC routine: 



10 GOSUB 100; 

20 5T0P 
100 GOSUB O.S. 
110 RETURN 



REM get. key 



This is exactly what happens in the machine lan- 
guage code and is intended only to clarify the rou- 
tine. These vectors are best used from the machine 
language level only. 

Other uses would be to get a key from the E: device 
(editor), or put a byte to the E: device. You could also 
put or get a byte from the S: device (screen), or put 
a byte to the P: device (printer). All of these uses pass 
information using the A register. 

I've seen all of these locations improperly used, 
where the above method of using the vectors would 
have made the program XL-compatible. 

ATASCII conversion, etc. 

A few other notes before I finish. I've seen programs 
use an OS table which is located at $FEFE on the 
old 800s for ATASCII conversion. Once again, these 
programs do not function properly on the XLs, be- 
cause this table has been moved. 

Now, this table is 192 bytes long, so I could see why 
a programmer wouldn't like typing this into his work. 
However, if it had been included, there would be no 
worries of incompatibility. Atari has recognized the 
need for a vector for this table and has included it 
on the XLs as a pointer in $79-$7A. 

This means that programs which used codes like 
CMP $FEFEX can be written as CMP ($79)X. A rou- 
tine may be added to see if the addresses in $79 and 
$7 A are zero (as in an 800) and, if they are, then stuff 



ISSUE 29 



ANALOG COMPUTING 



PAGE 37 



$FE in both addresses. This program would run on 
either machine. 

The last tidbit I've found is a way to load a small 
machine language program from cassette (magazine 
programs, for example) on the XLs, without having 
control passed to BASIC. You don't have to hold the 
OPTION key, only the START key. This header will 
not remove BASIC, but control will be passed to the 
tape program and co-reside with BASIC in 40K. 



le 


LOCATION 


?fl 


.BYTE 


30 


.BYTE 5IZE Jtt Of 128 byte blOCKS 


40 


.MORD LOCATION 


50 


.HORD INIT 


60 


J> 




70 


LDA 


ttO 


80 


STA 


»$06 


?0 


STA 


11507 


100 


LDA 


tt<START 


110 


STA 


$0A 


1?0 


STA 


$0C 


130 


LDA 


tt>START 


140 


STA 


$0B 


150 


STA 


$eD 


160 


CLC 




170 


INIT 




180 


RTS 




190 






200 


START 




210 


; PrograM continues 


220 


; froM here on 



So there it is, in a nutshell. I hope you'll make a 
serious effort to support the XLs and Atari. D 




(ALMOST) 

FREE 
CLUES: 




If you've ever been stuck in an adventure game, you need 
The Book of Adventure Games by Kim Schuette. This 
fantastic book contains complete legible (typeset) maps, 
magnificent illustrations, and all the hints you need to 
complete 77 of the all-time most popular adventure games 
including Zork I, II, III, Deadline, Starcross, Witness, 
Planetfall, Enchanter, Sorcerer, Infidel, Suspended (with 
map). Wizardry, Knight of Diamonds, Legacy of 
Llylgamyn, All Scott Adams, All Sierra On-Line Including 
Time Zone, Ultima I, II, III and many more! Best of all, the 
book doesn't spoil your fun! At about 25<i: an adventure, it's 
the biggest bargain around. So stop getting ripped off by 
$10 cluebooks and call: 

1-(a00)-821-5226 Ext. 500 

24 hrs. a day, 7 days a week 

or write: 

Witt's End 

42 Morehouse Rd., Dept. 9 

Easton, CT 06612 

Free UPS shipping. Add $3.00 lor C.O.D. APO's FPO's o.k. Add 
$5.00 lor foreign shipping. No charge for credit cards. We accept 
Visa/Mastercard, Personal Checl< (allow 2 ivee/ts (o clear), Certified 
Checif or money order. 
Ail Trademarifs are acknowledged. 

CIRCLE #119 ON READER SERVICE CARD 



^^^^ I^M 



The Celebmtion Continues. 

At a new, low price. We're celebrating PQ's 4 star ratings and you're invited to share 
the excitement. 

InloWorld Magazine said ol Party Quiz: "Perhaps the most elegant product comes 
Irom Suncom. " Match wits with friends (up to 7 of themi, 
or play alone with the first truly social, truly 
involving computer entertainment sfstem. 
Each package includes 4 controllers and 
2500 questions, expandable to over ^ f 
18,000 with the optional Question ' ' I 
Library. 'r^i>^ 

Call today (toll-free/ J/ 

1800-323-8341 to find \^ ' 
PO near you. \ /' 



m 



i3P3,,f 



)^ 





w 




•^A 



"CLUDES 
SRS 



■^^4 






* t: San Francisco Chronicle 

* ■« * s Family Computing Magazine 

he Party Quii o^/7/^___ 

Hardware & Software Entertainment System for Apple Ifseifes, Commodore 64 & Atari Computers 





MOr Wtieeling, IL BOO 90 
1-8341 IIL 1 -312-459-80001 



CIRCLE #120 ON READER SERVICE CARD 



PAGE 38 



ANALOG COMPUTING 



ISSUE 29 




DRAGONLORD 



by Clayton Walnum 



It was bound to happen sooner or later. The reports 
had been coming in from all over the countryside. . . 
livestock slaughtered, homes burned, princesses kid- 
napped. But the most horrifying tales of all, those that 
left one numb with shock, told of the near extinction 
of blueberry pie. From town after town came ghastly 
accounts of the mouth-watering treats being snatched 
from windows ills as fast as they were set out to cool. 
The county was in an uproar. 

And now the dragon had come to Dellwood. 

The mayor tapped a finger thoughtfully on his fore- 
head and tried to keep a smile frozen on his lips. All 
around him, angry citizens stomped and frowned. 

"I lost two prize cattle!" bellowed Babbit Costowitz. 

"My barn burned to the ground!" yelled Loodchuck 
Allison. 

"My hens stopped layin'," moaned Chip Monk. 

"And I ain't makin no more blueberry pies!!" screamed 
Widow Taccoon. The town hall plunged into silence 
so suddenly that the windows rattled in their frames. 
No more blueberry pie? 

"Can't help it," mumbled the widow, acutely aware 
of all the horrified eyes focused on her. "He keeps 
stealin 'em!" 



All attention turned to the mayor. He stood, still 
smiling, his demeanor confident. The people visibly 
relaxed. Here was a great leader of men. Here was 
the town guardian, unwavering in strength, unsur- 
passed in courage, a veritable fount of knowledge. He 
gazed into his people's hopeful faces and spoke pro- 
found words of wisdom and encouragement. 

"I. . .uh. . .well. . .hmmmmmm. . .Any suggestions?" 

"Call the Dragonlord!" they yelled in unison. 

"Uh. . .oh, yes. . .of course!. . .Hmmmmmm." 

It wasn't too long before the Dragonlord arrived 
in Dellwood with nothing but the armor on his back, 
a skin of spring water and a week's supply of blue- 
berry pie. Within the hour, he was standing with the 
mayor in Babbit Costowitz's meadow examining a 
rather large mound of dragonflop. 

"Yep, you got yourself a big'un here," he said as he 
tucked away his tape measure. "Judging by the size 
of this, I'd say. . ." 

But the mayor wasn't listening. His attention was 
fixed on a huge object that was plummeting from the 
sky at an alarming rate. "Good grief! It's the dr... 
dr...dr...dr..." 

"Dragon," finished the hero, while helping the poor 



ISSUE 29 



ANALOG COMPUTING 



PAGE 39 




man reclose his jaw. "Don't you worry. I've got quite 
a reputation. Most dragons would rather just buzz off 
than tangle with me." 

He strode to where the colossal beast was settling 
to the ground amidst a whirlwind of dust and straw, 
and looked up into its emerald, catlike eyes. "Say, why 
don't you just get lost before I have to get rough with 
you.' 

"Hal" snorted the dragon. 

Of course, you know what happens when a dragon 
snorts. It took the village blacksmith three days to 
peel off the Dragonlord's welded armor. 

"The doc said it will take a month for your burns 
to heal," said the mayor. 

"I can live with that," said the Dragonlord. 

"Your armor is completely ruined." 

"I can live with that." 

"Every hair on your body has been burned off." 

"I can live with that." 

"He took your blueberry pie." 

"What? Why, that confounded dr. . .dr. . .dr. . .dr. . ." 

"Dragon," finished the mayor, not unsarcastically, 
while helping the fried hero reclose his jaw. 

But Dragonlords are tough. With sixty gold pieces 
from the town treasury, he soon set off to shop for 
supplies. He was going dr. . .dr. . .dr. . .dr. . . 

(Dragon!) 

(Thanks.) 

...dragon hunting. 



Playing Dragonlord. 

Dragonlord is a fantasy adventure board 

game for one player. The object is to find the 

dragon in the dungeon maze, then capture 

him. You must manage to stay alive, of course. 

To do this, you mustn't allow your hit points 

or strength to drop to zero. You must 

make sure that you have plenty of pie 

to eat, and you must fight and slay the 

many ores that will try to keep you 

from your goal. 

Throughout the dungeon you will 
discover spells, serums, treasures and 
teleporter devices. There is also a thief 
who is more than happy to take advan- 
tage of unwary adventurers, lb capture the 
dragon, you must tame him with the magi- 
cal dragon brew you can purchase in the 
store. If you stumble upon the dragon without 
having the brew, he'll kill you instantly. 

The status screen. 

After you enter your character's name, the status 
screen will appear. The top left portion of the screen 
shows the number of hit points, strength and pie 
remaining. At the bottom left, you'll see your cur- 
rent room and all available exits. The top right 
displays the number of spells, serums and gold 
pieces you're carrying. The small window at 
the bottom right indicates if you are carrying 
dragon brew. It will turn blue when you have pur- 
chased the concoction. 

At the bottom center is the command window. Use 
the joystick to move the cursor, then press the trig- 
ger to finalize your choice. 

Movement. 

When you choose MOVE, the four main compass 
directions will ap- 
pear in the com- 
mand window. Use 
the joystick to pick 
the desired direc- 
tion, then press the 
trigger. The screen 
will change to show 
the room you have 
moved to, as well as 
any item you may 
have found. Dragonlord. 

If there's an ore in the room, a scoreboard will be 
drawn and a die will start rolling. When you press 
your trigger, the die will stop and your score will ap- 
pear. The score is based on the roll of the die, your 
weapon and your strength. 

A second die will then appear. This is the ore's at- 
tack. The computer will stop this die and show the 
ore's score. One to five hit points are subtracted from 
the loser's score. Note that, each time you roll, one 




LOTSABYTES CONTINUES THE WAR ! 

WAR on high prices ! We're going to put an end to the software price 'ripoff. And YOU 
can help ' Just l<eep those orders coming while you continue to enjoy the quality, 
quantity, selection and low prices that you deserve. Our National Public Domain Copy 
Service w/ill save you time, tedious work, and money. And our exclusive distribution of 
sharply discounted commercial programs will bring you some of the finest programs for 
the lowest possible price, usually 50% and more off retail! You continue to get FREE 
BONLISES with each purchase of three or more disl<s 





P//R/ in 


DOMAIN SO 

#3 


FTWARF 




#1 1 


#2 


#4 


#5 


GAMES 


UTILITIES 


AMS MUSIC 


GAMES 


EDUCATION 


Two full disl< 


25 powerful 


25 Advanced 


All different ! 


Loaded with 


sides packed 


programs to 


Musicsystem 


14 m'ore 


28 programs 


with over 


help you get 


files including 


better games 


on 2 disk sides 


25 games 


the most out of 


a new Player 


on 2 disk 


Fun learning 


including some 


your Atari 


program. 


sides. Some 


for the whole 


Arcade quality. 


computer. 


2 sides. 


Arcade types. 


family 


S7.95 


$7.95 


$7.95 


$7.95 


$7.95 


#6 


#7 


#8 


#9 


#10 


AMS MUSIC 


GAMES 


UTILITIES 


GAMES 


UTILITIES 


25 all-time 


Two disk sides 


17 more 


Two full sides 


A new 


favorites 


packed with 


power-packed 


filled with 


assortment 


with a 


14 more 


utilities to 


17 of the 


of 17 great 


Player 


great games. 


help unleash 


best and 


and powerful 


program. 


Some 


full potential 


most recent. 


programs 


Two sides. 


Arcade types. 


of your Atari. 


Some Arcade. 


Don't miss it ! 


$7.95 


$7.95 


$7.95 


$7.95 


$7.95 


#11 


#12 


#13 


#14 


#15 


GAMES 


ADVENTURES 


EDUCATION 


AMS MUSIC 


UTILITIES 


NEW! 


NEW ! 


NEW ! 


NEW! 


NEW' 


Our newest. 


2 full disk 


2 disk sides 


2 sides 


Another 


2 sides 


sides 


filled with 


filled with 


assortment 


filled with 


filled with 


something 


great music 


of fine 


great games. 


text 


for 


and a player 


programs. 




adventures. 


everyone. 


program. 


Not to be missed. 


$7.95 


$7.95 


$7.95 


$7.95 


$7.95 




LotsaBytes 


EXCLUSIVES 








ADVANCED 
MUSICSYSTEM II 

by LEE ACTOR 
Allows you to create music 
with your Atari computer! 
All new machine code. 

* Control over pitch 
duration, envelope 
dynamic level, meter, 
tempo and key. 

* 4 independent voices 

* 5'.' octaves per voice 

* Save up to 8200 notes 

* Custom DOS 
' FULL instructions 

* 24K disk 
Originally $29.95 Only $14.95 

ORIGINAL ADVENTURE 

by Bob Howell 
For all Atari computers. 
The Original 
Colossal Cave 
Adventure faithfully 
reproduced from the 
main-frames' 
This is the one 
that launched the whole 
Adventure craze of today' 

* Two mazes 

* 130 rooms 

* Deadly Dragons 
" Nasty Dwarves 

* Tenacious Troll 
■ The Pirate & IVlore! 
' 86 coded hints 

* SAVE/RESUME 

* 40K disk or 32K tape 
Originally S24.95 Only $14.95 




QUALITY WORD PROCESSING 

ESI WRITER! At last a brand-new Word Processor 
that has more features and is easier to use than 
anything else available for the Atari. Easy for the 
beginner to use, it asks questions and remembers 
the answers. ESI WRITER is so sophisticated that it 
has many more features we don't even have room to 
mention ! Works with ANY Atari. 

* Reads any text file * Built in Help screen 

* Very fast ! * Works with ANY printer 

• Instant top. bottom or text location 

without scrolling! 

* Every printer feature * DISK ONLY (Any Atari) 

* Search and replace * Block move text 
•Page eject/start * Set margins/lines etc. 

"Full justification * Print headers etc. 

* Block delete etc. * Change video color 

' Over 50 pages of docs and tutorials 
TRUST US ON THIS ONE' YOU WILL LOVE IT! 
Originally $49.95 LotsaBytes price $19.95 

* * FREE BONUSES ' ' 

Now for each 3 disks ordered 
you may choose any 1 of the following disks 

FREE!! 
... buy 3 - get 1, buy 6 - get 2, buy 9 get 3 ... 

a. The Atari XL TRANSLATOR DISK 
that enables XL owners to use most 
400/800 software. FREE ! ! 

— or — 

b. An all different AfvIS MUSIC disk 
with Player. FREE!! 

—or — 

c. Your choice of one of the P.D. disks — 
#1, #2, #3, #4, #5, #6, #7, #8, 
#9. or #10 (specify one) FREE!! 




MUSIC MAJOR ! 



Learn the basics of music with this light- 
hearted but very thorough approach. 
Covering such topics as note recognition, 
key signatures, note counting, and much 
more, it is designed for use by both the 
individual student and music class. 
This program includes a thoroughly 
illustrated manual and offers a QUIZ 
fvlASTER utility that allows the teacher or 
the self-taught student to create their own 
A-B-C-D type tests, with a sample quiz 
included. 
Originally $39.95 Only S14.95 



GREAT GAMES! 

SPACE GAMES: Three games for one low 
price'. In Aliens you can't get them all and 
the pace keeps getting faster. When you 
do gel rid of most of them, you are left in a 
space quadrant peppered with mines. Will 
you Survive? If you do, you must 
penetrate the alien's spaceship, survive a 
Robot Attack, and get back your stolen 
cloaking' device! Interested? 
S24.95 list LotsaBytes price: S9.95 

THE BEAN MACHINE by Steve Robinson 
is an Award Winning Arcade game that 
will drive you crazy balancing a series of 
beams while trying to get ail the beans to 
roll down, without touching, all the while 
avoiding strange creatures' who drop in 
to steal the beans. It's addicting! 
$24.95 list LotsaBytes price: $9.95 

DIGGERBONK, another Award Winning 
game by Steve Robinson, challenges you 
to find your way through a continuously 
scrolling maze while avoiding some really 
strange creatures. Along the way you will 
need to Bonk some of them, but watch out 
for the bombs. 
$24.95 list LotsaBytes price: $9.95 

GUESS WHAT'S COMING TO DINNER 

lets you try to manuever a snake through 7 
levels if you can keep it from starving or 
being electrocuted. Lots of surprises' One 
or two players. 
$24.95 list LotsaBytes price: S9.95 



CREATIVE LEARNING 
ADVENTURES 

Ages 4 to 10 — Disli only 

1. Hours of educational fun playing 3 
exciting creative adventures with a 
friendly alien learning about our planet 
Earth. Hand/eye co-ordination, drawing, 
and music skills are emphasized. 
S24.95 list LotsaBytes price: $12.95 

2. Four challenging learning games that 
are the favorites of our friendly alien 
Helps your child to develop logical 
reasoning ability. 

$24.94 list LotsaBytes price: $12.95 

3. These 3 Fun-Day learning games will 
help with intellectual development, 
hand/eye co-ordination, logic, spatial, 
and analytical abilities. 

$24.95 list LotsaBytes price: $12.95 



LotsaBytes 



Full 100". Replacement guaranlee.Any disk found lo be defective will be replaced free and we wil! also refund 
your return postage. All orders shipped by First Class U.S. Mail. Add SI .95 shipping and handling for 1 to 5 disks. 
Add S2.95 lor 6 to 12 disks. California residents add 6"^ sales tax. Outside ol U.S.A. and Canada add 15°.. U.S- 
Funds only. We accept checks or Money Orders. Sorry, no COD or Charge Cards. Allow three weeks for personal 
checks to clear. 



15445 Ventura Blvd., Suite 10H, Sherman Oaks, CA 91413 

At. in lb. -.",■ r,H]ii,lrri'il h ,i(.k'ri1.ii k of Al.iri Cotp 

CIRCLE #122 ON READER SERVICE CARD 



ISSUE 29 



ANALOG COMPUTING 



PAGE 41 



strength point is lost. There's no way to avoid a bat- 
tle. You must fight to the death. Each time you kill 
an ore, you will find some gold. 

If you happen upon a teleporter, you'll be magical- 
ly moved to a randomly-selected room. If you don't 
have the dragon brew, there is a one in eight chance 
that the selected room will contain the dragon. And, 
if you stumble upon the dragon without the brew, 
you'll find yourself in a very hot situation. 

If you bump into the thief, he will steal half your 
gold. 

Besides the above, you may find gold, spells or se- 
rums. Serums, when taken, restore a portion of your 
strength points. Whenever your strength falls below 
twenty, you will automatically drink one (if you have 
any on hand). 

Each time you move, you lose one strength point. 

All items are placed randomly throughout the dun- 
geon each time you start a new game, and will not 
move as you play. When you enter a room, you'll 
either pick up any object there or begin the neces- 
sary action. When you leave a room, it will be emp- 
ty. The only exceptions are the teleport rooms. You 
will be teleported each time you enter one, even if 
you've already been there before. When you enter an 
"empty" room, there is a one in four chance that an 
ore will follow you. 



Casting spells. 

Casting a spell allows you to move instantly to any 
room of your choice, with no decrease in strength. 
If you choose the CAST command (assuming that you 
have at least one spell), a number will appear in the 
command window. Use the joystick to increase or de- 
crease the number. When the room number you want 
appears, press the trigger. You will be magically tele- 
ported there. 

Note that there are seven rows of eleven rooms 
each. The rooms are numbered from left to right, 
starting with room number one in the upper left and 
ending with room number seventy-seven in the lower 
right. 

The map. 

When you are not sure of your whereabouts, or 
would like to see the rooms you've searched, use the 
MAP command. Viewing the map is a "free" com- 
mand. It doesn't decrease your strength. When you 
are through with the map, press the trigger. You will 
return to the status screen. 

Spending your gold. 

The first thing you should do at the beginning of 
a game is hightail it to the store. Without purchas- 
ing at least some pie, you won't last very long in the 

(continued on next page) 




for the ATARI 800 or XL 



Cut your programming time from hours to seconds, and tiave 33 

direct mode commands and functions. Ali at your fingertips and 

aii made easy by ttie tvlGNKEY WRENCH il. 

The MONKEY WRENCH il plugs easily into the cartridge slot of your 

ATARI and works with the ATARI BASIC. 

Order your MONKEY WRENCH II today and enjoy the conveniences 

of these 33 features: 

• Line numbering 

• Renumbering basic line numbers 

• Deletion of line numbers 



Variable and current value 

display 

Location of every string 

occurrence 

String exchange 

Ivtove lines 

Copy lines 

Up and down scrolling of 

basic programs 



• Special line formats and 
page numbering 

• Disk directory display 

• Ivlorgins change 

• Home key functions 

• Cursor exchange 

• Uppercase lock 

• Hex conversion 

• Decimal conversion 

• fvlochine language monitor 

• DOS functions 

• Function l(eys 



The MONKEY WRENCH II also contains a machine language monitor 
with 16 commands that can be used to interact with tOO OH 

the powerful featuresot the 6502 microprocessor 9^7.70 



Have You Kissed 
Your Atari Lately? 

Introducing "KISS", a new, simpler, 

more powerful Word Formatter/Processor 

for your Atari 800, 600XL, and 800XL 

"KISS" comes \n a cartridge, and is designed for the occa- 
sional user, yet simple enough for beginners and children. 
It comes with an easy to read manual, that contains example 
text files. Check out these other "KISS" features: 



Input of text is via standard 

ATARI screen editor - so 

there is nothing new to learn 

Only 13 commands to 

process text 

Text can be sent to screen 

or printer 

Single page or fan-folded 

paper can be used by 

printer 



• Prints English error messages 

• The "KISS" cartridge does not 
have to be installed in order 
to input text information 

• Automatic page numbering 
on output 

• Text can be justified to both 
the left and right morgins 

• Can be used lor letters, reports, 
term papers, etc. 



KISS^ 

Call us today for your "KISS" Only $19.95 



3239 Linda Dr. 
Winston-Salem, N.C. 27106 
(919)748-8446 
Send for free catalog! 



CIRCLE #121 ON READER SERVICE CARD 



PAGE 42 



ANALOG COMPUTING 



ISSUE 29 



dungeons. You should be aware, however, that every 
trip to the store will cost you two strength points. 

When you get to the store, you'll see a message 
scroll across the top of the screen. If you're lucky, 
there will be a sale in progress! Press the trigger, and 
the store menu will appear. Choose the department 
you want. The items available in that department will 
then appear. 

Make your selection and press the trigger. The cost 
of the item will be subtracted from your gold. The 
gold you have remaining will appear briefly above the 
menu window. You may now buy something else or 
exit the store. 

In the magic department, you may purchase spells 
or dragon brew, or take a trip to see the gypsy. The 
gypsy will give you a directional clue — your position 
relative to that of the dragon. This will not only help 
you find the dragon, but will make it easier to avoid 
until you can afford the brew. 

The health department sells pie, lodging and medi- 
cal assistance. You need pie to keep up your strength; 
if it runs out, your strength points will decrease twice 
as fast. An alarm will warn you when the pie is gone. 

If you wish to restore some of your strength, you 
may take lodging for the night. Td restore hit points, 
go see the doctor. 

In the weapons department, you may purchase a 
dagger, a short sword or a long sword. The dagger will 
add one point to your attack score; the short sword 
will add two; and the long sword will add three. You 
can carry only one weapon at a time. 

You may exit a department without making a pur- 
chase by choosing the EXIT command. When you 
are finished shopping, you leave the store in the same 
way. 

Ending the game. 

Dragonlord is over either when you capture the dra- 
gon or when you're dead, at which time you'll see your 
score. You get one point for each move, two points 
for finding a useful item, five points for killing an ore 
and one hundred points for capturing the dragon. If 
you captured the dragon, you will also be awarded 
bonus points based on the number of moves you made. 
The fewer the moves, the higher the bonus. 

Now, go forth and slay the dragon. D 

BASIC listing. 



DR<:)GONLORD 



1 REM __^ 

2 REH by Clayton HalnuM 

3 REH 

18 Ml=l : N2=2 : M3=3 : H4=4 : M5=5 : N6=6 : 117=7 : 
M8=8:N9=:9:H10=10 

28 Mll=ll : m2=12 : 1113=13 : N14=14 : M15=15 : 
M16=16 : H17=17 : H18=18 : H19=19 : N28=2e : H21 
=21:M77=77:G0T0 2268 
38 RESTORE :FOR X=N8 TO 27: READ fi:POKE 

ADRCR$)+N1+K,A:NEKT K 
48 FOR X=CHBA5E+2e4 TO CHBA5E+479 :READ 

A : POKE X A: NEXT X 
58 FOR X=CHBA5E+128 TO CHBA5E+2e7 : READ 

A: POKE X, A: NEXT X 



68 FOR X=CHBA5E+24 TO CHBA5E+183:READ 

A ! POKE X A! NEXT X 

78 FOR X=CHBASE+216 TO CHBASE+223 : READ 

A: POKE H, A: NEXT X 
88 FOR X=:N1 TO N77:READ A :RMCX}=A :I CX) 
=Ne:IMEHT K:IC39J=N7 
98 READ A: IF A=-N1 THEN 3838 
188 X=INTCRND(N8)»N77)4^Nl:IF ICX) THEN 

188 
lie IF A=N1 THEM DR=X 
128 ICX}=:A:GOTO 98 
138 R00M=INTCRNDCN8)«N77)+N1:IF NOT B 

THEN X=INTCRNDCN8)«NS)+Nl:IF X=N1 THE 
N ROOM=DR 

148 FOR X=N1 TO N5:F0R Y=N8 TO N16:S0U 
ND N8,Y*N2,Y,N4:P0KE 788, Y»N18 :FOR A=N 
1 TO N5:NEXT A:NEXT Y:HEXT X 
158 POKE 559,N8:S0UND N8,N8,N8,Ne :GOTO 

958 
168 50UND N8,N18,N12,N8:F0R X=N1 TO N2 
e:NEXT X:SOUND N0,N8,Ne, NBlRETURN 
178 SOUND N8,iee,N12,N8:F0R X=N1 TO 18 
0:NEXT XiSOUND NO, NS, N8, N8 : RETURN 
188 RT=RMCR) : COL= (R-IHT (R/H11)»N11)«N3 
:IF INTCR/N11)=R/N11 THEN C0L=33 
198 HOM=INTCR<^N113»N3llIF INT tR/Nll)=R/ 
Nil THEN R0M=R0U-N3 
288 RETURN 
218 R=R00M:G05UB ROOMPOS : C=COL :RM=ROH: 

r=dr:gosub roompos: position 34,n14:q=n 
8:d=no 

228 Q=N1«(C0L<C AND RON<RM) +N2*(C0L>C 
AND R0M<RH]HhN3«(C0L>C AND R0M>RH)+N4«C 
COL<C AND ROH>RM) 

238 D=H1»(C0L=C AND ROW<RH} +N2*tC0L>C 
AND RDH=RH]+N3»CC0L=C AND R0H>RW}+N4«( 
COL<C AND ROM=RH) 

248 IF ()=N1 THEN D=N1:IF RNDCNOXa.S T 
HEN D=N4 

258 IF 0=:N2 THEN D=N2:IF RND(N8)<e.5 T 
HEN D=N1 

268 IF Q=N3 THEN D=N3:IF RND(N8}<e.5 T 
HEN D=N2 

278 IF Q=N4 THEN D=N3:IF RND(N8)<8.5 T 
HEN D=N4 
288 RETURN 

298 R0H=R: POSITION COL, ROM:? ">" 
388 IF STRIG(N8)=Ne THEN 388 
318 IF STRIG(N8]=N8 THEN GOSUB SND1:CH 
=ROM-R+Nl: RETURN 

328 ST=STICKtN8J :IF STON14 AND STONI 
3 THEN 318 

338 R0=R0W:R0W=R0W+CST=N14J*-Nl+tST=Nl 
3}«Nl:IF ROM<R THEN R0H=R+N3 
340 IF R0M>R+N3 THEN RON=R 
358 POSITION COL,RO:? " ": POSITION COL 
,ROH:? ">":FOR X=N1 TO 25:NEXT X:GOTO 
318 

360 FOR X=N1 TO 380: NEXT X: RETURN 
378 N=N8 : S=Ne : E=N8 : H=N8 : RT=RM (ROOM) 
380 ON RT GOTO 390,488,418,428,438,448 
,450,468,478,480,490,588,518,528,538 
398 N=Nl:E=Hl:ES=" ,,■•: RETURN 
488 N=Nl:S=Nl:ES=" , ,": RETURN 
418 N=Nl:H=Nl:E5=" ,, ■■: RETURN 
S=Nl:E=Nl:ES=", ,":RETURN 

":RETURN 

,- , , ": RETURN 

1S=N1:ES=" ,":RETURH 

468 N=Nl:E=Nl:M=Nl:E5=" , ": RETURN 

478 S=Nl:E=Nl:M=Nl:ES=", '^RETURN 



428 

438 S=Nl:W=Nl:ES: 
448 E=Nl:W=Nl:ES=' 
458 N=Nl:E=Nl: 



488 

RN 

498 

588 

518 

528 

538 



N=H1 : S=N1 : E=N1 : W=N1 : ES=" 



:RETU 



N=Nl:ES=" ,,,":RETURN 

S=N1 : ES=" , , , ■■ : RETURN 

E=Nl:E5=", ,,":RETURN 

W=M1:E5=", ,, ■■: RETURN 

N=Nl:5=Nl:M=Nl:E$=" , ": RETURN 
548 REM »«# STATUS SCREEN »*» 
558 IF STR>N2e OR SM<H1 THEN 588 
568 GRAPHICS H17 :P0KE 756 .CHSET ;PQ SITI 
ON Nl N6 : '^ ttN6 ' "dinHinHjI^El^SyBlIir" 

578 STR=stR+INf tRNDCN0J»N155+N15:SM=SM 
-Nl: GOSUB DELAV2 

588 GRAPHICS N8:P0KE 559, NO: POKE N77,N 
8:P0KE 756,CHSET:P0KE 752,N1:P0KE 709, 
N8:P0KE 718, no 



ISSUE 29 



ANALOG COMPUTING 



PAGE 43 



599 DL^PEEK 1560} *256»PEEK C561J +H4 

680 POKE DL-Nl,7e:P0KE DL+N2, N6 :POKE D 

L+N21,N6:PDKE DL+22,N6 : POKE DL+23,N6:P 

DKE DL+24,N6 

610 POKE l>L,NO:POKE DL+N1,5TTU5 :P0KE 8 

8,N0:P0KE 89,5TTU5 

620 POSITION N5,N3:? N$:POSITION N9,N5 

:? HP; POSITION N9,N7:? STR;" ":P05 

ITION N9,N9:? PIE;" "' 

630 POSITION 38, N3:? MSCWN»N7-N6,MN«N7 

); :IF W=N2 THEN ? ■' " 

640 POSITION 30, N5:? 5PL;" ": POSITION 

38, N7:? SM;" " 

650 POSITION 30, N9:? G; POSITION Nl 

,N28:? " 

668 POSITION N18,N14:? ROOM;" ":POSITI 

ON NIO N15 ' '^ " f-ff-f-f-t-f-^-" ■ 

678 POSITION N21,N13:? " ■<il!l!IV1!IJa " i P05 

ITION 22,N14:? " MOVE": POSITION 22,N1S 

:? " MftP " 

688 POSITION 23,N16:? "CAST" : POSITION 

22,N17:? " STORE" 

698 GOSUB DIR:POSITION N18,H15 

788 IF N THEN ? "N "; 

718 IF S THEN ? "5 "; 

728 IF E THEN ? "E "; 

738 IF H THEN ? "W "; 

748 IF B THEN POSITION 33,N14:? "titl" 

758 POSITION N21,N19:? "THE MAGICAL ST 

ICK ": POSITION N21,N20:? "PICKS THV CO 

MMAND":POKE 559,34 

768 IF PIE^HB THEN FOR X=H1 TO N4:F0R 

Y=24e TO NO STEP -N28:S0UND N8,Y,N18,N 

4:NEXT Y:NEXT K:S0UND N8,N8,Ne,Ne 

778 C0L=22:R=N14: GOSUB CHOOSE: ON CH GO 

TO 790,1458,1548,1668 

780 REM *«* MOVE »»» 

798 POSITION N21,N13:? " N 4**** 

t S " 

800 POSITION 22, ROM;? " ";POKE 766, Nl; 
POSITION 25,N15:? "t" 
810 POSITION N21,N19:? " 
":POSITION N21,N2e:? " 

■ I 

820 POSITION N1,N28:? "PICK THY DIRECT 

ION" : TURN=TURN+N1 : CH=N1 

830 IF STRIG(N8)=N8 THEN 830 

840 IF STRIGCN8)=:N8 THEN GOSUB SHD1:P0 

KE 766, NO: GOTO 988 

858 ST=STICKtH8J : POSITION 25,N15:IF ST 

=N14 THEN ? "f":CH=Hl 

860 IF ST=N13 THEN ? "♦":CH=H2 

878 IF ST=N7 THEN ? "4":CH=N3 

888 IF ST=N11 THEN ? "t":CH=N4 

898 GOTO 840 

988 IF CH=N1 AND N THEN R00N=R00M-N11 : 

GOTO 958 

918 IF CH=N2 AND S THEN R00M=R00M+N11 : 

GOTO 950 

920 IF CH=N3 AND E THEN R00M=R00M+N1:G 

OTO 958 

938 IF CH=N4 AND M THEN R00M=R00M-N1:G 

OTO 950 

948 SOUND N8,150,N12,N8:F0R K=N1 TO N2 

e:NE}<T X:SOUND Ne,N8,Ne,N8:P0KE 766, Nl 

:GOTO 848 

958 POKE 88,N0:P0KE 89,MAP:R=R00M: GOSU 

B ROOMPOS: POSITION COL, RON:? RMS CRT«N1 

7-N16,RT*N17J 

968 STR=STR-Nl-Hl*tPIE=NOJ :IF STR<N1 T 

HEN GOTO DEAD 

978 CHT=CNT+Hl:IF CHT=N3 THEN CNT=H8:P 

IE=PIE-Nl:IF PIE<N8 THEN PIE=N8 

988 GOSUB DIR 

990 GRAPHICS N8:P0KE 559, N8: POKE 756, C 

HSET:POKE 7ie,Ne:P0KE 7e9,N12:P0KE 752 

, Nl : DL=PEEK C568J +256»PEEK t561J +N4 

1008 POKE DL-N1,71:P0KE DL+N2,N7 :POKE 

DL+H3,N7:P0KE DL+N4,N7 :POKE DL+N5,N7:P 

OKE DL*N6,N7:P0KE DL+H7,N7 

1810 POKE DL+N8,N6:P0KE DL+N9,N6 : POKE 

DL+H18,H6:P0KE DL+H18, 65 :POKE DL+N19,P 

EEK(560) :POKE DL+N20, PEEK 1561) 

1828 POKE 82,N0:P0SITI0N Nl,Ne:? ",,,, 

II 



1938 ? " 



XV40 ,,,,,,,,,,,,,,,,, 

1858 POSITION N9,N8:? E$ f Nl, Nl) :POSITI 
ON 37, Hi:? EStN2,N2) : POSITION H9,N3:? 
ES(N3,N3} ; POSITION N21.N1:? E$(N4,N4) 
1969 IF ICR00M)=N7 THEN K=INT(RNDtNe))( 
N3)+Nl:IF X=H1 THEN I(R00M)=N2 
1079 IF I(R00M}>N2 THEN POKE 559,34:G0 
TO 1350 

1089 IF I(R00M}=N2 THEN POKE 710,N8:P0 
KE 789,N0:P0KE 559,34 :POSITION 28, Nl:? 
"HB"!FOR X=N1 TO 50: NEXT X:GOTO 1138 
1999 POKE 559,34:P0SITI0N 26, Nl:? "EBB 
^Cn":FOR Y=N1 TO N8:F0R Z=H1 TO 30:P0 
KE 710, Z»H8: POKE 712,Z»N8-H6 
1109 SOUND N0,Z,N6,N8:NEXT Z:NEXT Y:SO 
UND N9,N9,N9,N9 

1119 GRAPHICS N18:P0KE 756, CHSET:IF B 
THEN PO SITION N1,N1:? IIN6:" n!n»iil!i:B;H 
Hiifi|ai.-U " : I CDR) =N9 : SC=:SC<^199 : GOTO 2180 
1128 GOTO DEAD 
1 139 C HP=N5 :CST R=N19: POSITION N1,N4:? 

"oamD 1339" 

1149 POSITION N1,N5:? "i 

I . I 



1159 ? 

P: 
1169 ? 

R: 
1179 ? 



I .1 



!■ 



THY HP: 



STR! 



ORC H 



ST 



Jill. 



1189 PL=MN-Nl:BS="!ailH ":C5=STR$ fPL) 
iSTTBS (N6 . NB) =CS 



THV WEAPON IS 



CS=CHRS tASC CCS) +128) 
1199 POSITION N8,N6:? 
;B$:POSITION 28, Nl:? " 
1208 POSITION N14,N8;? HP;" ":POSITION 
31, N8:? CHP;" ":POSITION N14,N10:? ST 
R; POSITION 31,H19:? CSTR;" " 

1219 Dl=:IHTtRND<N8)*N9)+Hl:P0SITI0M N5 
,Nl:? D5tDl»H9-N8,Dl»N9-H6) : POSITION 2 
5, Hi:? D5CDl*N9-N5,Dl*fN9-N3) 

1220 POSITION N5,H2:? DS(D1»H9-H2,D1»H 
9}:S0UND NO, 158, N2,N8: SOUND N0,N8,N9,N 
9 

1239 IF STRIGCN9) THEN 1219 

1249 D1=D1-INTCN4-STR/N28)+PL: POSITION 

Ne,N4:? Dl;" ":STR=STR-Nl-Nl»tPIE=M9) 
:IF STR<N1 THEN GOTO DEAD 
1259 FOR X=N1 TO N20 :D2=INT f RND (N0)«N9 
)+Nl: POSITION Nll,Nl:? D?fD2»N9-N8,D2» 
H9-N6) 

1269 POSITION 31, Nl:? D5 tD2»N9-N5, D2»N 
9-N3) : POSITION H11,N2:? D5 CD2»H9-N2,D2 
«N9):S0UND N0,150,N2,N8 
1279 SOUND N0,N9,N9,N0:NEXT X:POSITION 

N15,N4:? D2;'' ":CSTR=CSTR-Nl;IF CSTR< 
Nl THEN 1330 

1289 H=INTfRNDCN9}«N5)+Nl:IF D1>=D2 TH 
EH SC=SC+H1:G0T0 1318 

1298 FOR X=H8 TO 255 STEP N5:S0UND NO, 
X,Nie,N4:NEXT X:SOUND N8,Ne,N8, N8 :HP=H 
P-H:IF HP<N1 THEN GOTO DEAD 
1309 GOTO 1299 

1319 FOR H=259 TO NO STEP "NIO: SOUND N 
0,X,N10,N4:NEXT X:SOUND NO,NO,Ne, NO : CH 
P=CHP-H:IF CHP<N1 THEN 1330 

1320 GOTO 1208 

1330 X=INTCRNDCN8)KN5)+N4:GRAPHICS N8 : 

POKE 756, CHSET: POKE 710,N0:P0KE 752, HI 

:POSITION N14,N8:? "HE IS DEAD!" 

1340 POSITION N11,N12:? "YOU FOUND ";X 

;" GOLD ! " : G=G+X : I (ROOM) =N7 : SC=SC+N11 : G 

OSUB DELAY2:G0T0 550 

1350 IF ICR0 0M)=N3 THEN POSITION 25, Nl 

:? " kJ-JIJ J.I1M " : SC=SC+N1 : GOTO TEL 

1368 C0L=N18JIFICR00M)=N7 THEN POSITI 

ON 27, Hi:? "BCI1B«]" : GOTO 1420___ 

1370 POSITION N5,Nl:? "L 'MIMiJIim " : SC-S 

C+Nl 

1380_IFItR00M)=N4 THEN POSITION N6,N2 

:? "h»J3Jli" ; SPL=SPL+N1 



PAGE 44 



ANALOG COMPUTING 



ISSUE 29 



1390 IF ItR00M}=N5 THEN H=:IN T CRHD CWOi* 
N5)+N4: POSITION N3,N2:? X;" L- MJiBJtJn 
S":G=G*X 

1*00 IFItROOMJ =M6 THEN POSITION N6,N2 
■ r":SM=SM+Ml 



1410 IF_ICR00M)=N8 THEN POSITION N5,N2 
:? "EEI3D3S1":G=INT(G/N2):F0R Z=N1 TO 
N8:G0SUB SND2:NEXT Z 
1420 SC=SC+Nl: POSITION C0L,N7:? ttN6;"P 
RESS THY TRIGGER" 
1430 IF STRIGCNO) THEN 1430 
1440 GOSUB SNDl:ICR00M)=N7:G0T0 550 
1450 GRAPHICS NO:POKE 756,CHSET :POKE 7 
52,Nl:P0KE 7ie,N0:P0KE 711,54:P0KE 712 
,112 

1460 DL=PEEK (560 J +256«PEEK C561) +N4 : POK 
E DL+22,N6:P0KE DL^23, NO :POKE DL+24,N6 
■.POKE DL, NO: POKE DL+N1,MAP 
1470 POKE 88,N0:P0KE 89,MAP:P0KE 559,3 

1480 R=R00M:G0SUB ROOMPOS 

14S0 POSITION C0L+N1,R0H+Nl:? ■'•"iFOR 

X=N1 TO NIOSNEXT X 

1500 POSITION C0L+H1,R0W+Nl:? FOR 

X=N1 TO Nie:NEXT X 

1510 IF STRIG(NO)=NO THEN GOSUB SND1:G 
OTO 550 

1520 GOTO 1490 

1530 REM *** CAST SPELLS WHt 
1540 IF SPL>N8 THEN SPL-SPL-Nl :R00M=N1 
:GOTO 1560 

1550 GOSUB SND2:P0SITI0N COL, ROM:? " " 
:GOTO 770 

1560 POSITION N21,N13:? " **** 

«■<•*•*• 4«-*-**-> +*•**■*■ ++*•*■«■ " 
1570 POSITION N21,N19:? " 
": POSITION N21,H20:? " 
":POSITION N5,N20:? "WHAT ROOM?" 
1580 IF STRIG(NO)=:NO THEN 1580 
1590 IF STRIGCNO)=Ne THEN 1630 
1600 STrSTICKCNO) :R00H=R00H« (ST=N14)«N 
l+tST=N13J«-Nl:IF R00M>N77 THEN ROOM=N 
1 

1610 IF R00H<N1 THEN RD0H=N77 
1620 POSITION 25,N15:? ROOM;" ":FOR X= 
Nl TO N10:NEXT X:GOTO 1590 
1630 SOUND N0,248,N10,N4:S0UND Nl,255, 
N14,N4:S0UND N2, 246, N14, N4 : SOUND N3,24 
3,N10,N4 

1640 POKE ADRCR$)+24,26:D=USRCADRCR$]Hh 
N1,N2}:F0R X=Ne TO N3:S0UND X, NO, NO, NO 
:NEXT X:GOTO 950 
1650 REM »*« STORE *** 

1660 STR=STR-N2-N2*CPIE=N0) :IF STR<N1 
THEN GOTO DEAD 

1670 S=INTCRND(N0}»N101+N1:IF STR>90 T 
HEN S=N1 

1680 IF S<N6 THEN SL=NO :SS (36, 75>=" 

HELCOME ALL ADVENTURERS! " 

:GOTO 1730 

1690 55(36,753=" SPECIAL TODAY: 

PERCENT OFF! " 

1700 IF S<N9 THEN SS (56, 57J="10" :SL=0 . 

1 

1710 IF S=N9 THEN SS (56,57J="'20":SL=0. 

2 

1720 IF S=N10 THEN SS (56, 57J ="30" :SL=0 

.3 

1730 GRAPHICS NO: POKE 559, NO: POKE 710, 

NO: POKE 756,CHSET:DL=PEEK(560}+256*PEE 

K(561}+N4 

1740 POKE DL-N1,70:F0R X=N2 TO N6:P0KE 

DL+X,N6:NEXT X:FOR X=N9 TO N2e:P0KE D 
L+X,N6:NEXT X:C0L=N6 :R=N7 
1750 POKE 752, Nl: POKE 82,N0 :TURN=TURN+ 
Nl:POKE DL,Ne:POKE DL+Hl, STORE :POKE 88 
,NO:POKE 89,ST0RE:P0KE 559,34 
1760 FOR X=N1 TO 80 : BS=SS (X,37+X1 ;POSI 
TIOH N1,N3:? B5; :FOR Y=N1 TO N8:NEXT Y 
1770 IF STRIG(NO}=NO THEN POP : GOSUB S 
NDl:GOTO 1790 
1780 NEXT X:G0T0 1760 
1790 C0L=N6:R=N6:R0H=N6: POSITION N1,N3 



1800 POSITION N7,N6:? " 



4«- <■*■<■*«■ 



1810 POSITION N10,N3:? "YOU HAUE ";G;" 

GOLD.": GOSUB DELAY2 
1820 POSITION N10,N3:? "CHOOSE THE DEP 
ARTMENT" 

1830 POSITION COL, RON:? " ":POSITION N 
7,N6:? "wagic +*«^***+health *4^**t^+*** 
weapons+**-*-«-**-*-exit " 
1840 GOSUB CHOOSE: POSITION COL, ROM:? " 

":POSITIOH N9,N3:IF R0M<N9 THEN ? " 
MAKE THY PURCHASE 

1850 OH CH GOTO 1860,1930,2020,2110 
1860 POSITION N7,H6:? "spel ls+**t***gy 
psy +*t<^*ttbrew " 

1870 GOSUB CHOOSE: ON CH GOTO 1880,1900 
,1890,1820 

1880 C0ST=N10: GOSUB 2070:SPL=SPL+N1:G0 
TO 2090 

1890 C0ST=60: GOSUB 2870 :B=N1 : GOTO 2090 
1908 C0ST=N20: GOSUB 2070 
1910 GOSUB CLUE:POSITION H7,N6:? " 

4«^+*t** +**^t*t ***t*^* " 
1920 POSITION 27, N7:? DIRS (D*N5-H4,D»N 
5]:G0SUB DELAY2: POSITION 27, N7:? " 

":GOTO 2090 
1930 POSITION N7,N6:? "pie ♦t**t*iodg 
ing*+tt+tt*^doctor " 

1940 GOSUB CHOOSE:ON CH GOTO 1950,1990 
,1960,1820 

1950 C0ST=N10:G0SUB 2078 :PIE=PIE+N5 : GO 
TO 2090 

1960 C0ST=N15: GOSUB 2070 ^^ 

1970 X=INT (RHD (N0)»N10) +N15 : HP=HP+H : IF 

HP>50 THEN HP=50 
1980 POSITION N1,N3:? "THE DOCTOR HAS 
HEALED THEE ~ ";X;" HP ~":GOSUB DELA 
Y2:G0T0 2090 

1990 C0ST=N15: GOSUB 2070 
2800 X=INT (RND (N03*N15J +N20 : STR=STR+X : 
IF STR>100 THEN STR=100 
2010 POSITION N1,N3:? " A GOOD NIGHT 
S SLEEP! ~ ";X;" STR ~ ":GOSUB DELA 
Y2:G0T0 2090 

2820 POSITION N7,N6:? "dagger***t***s 
swoPd*t*tt**ti sword" 

2030 GOSUB CHOOSE:ON CH GOTO 2040,2050 
,2060,1820 

2040 C0ST=N10: GOSUB 2070 : HN=N2 : GOTO 20 
90 

2050 C0ST=30: GOSUB 2070 :HH=N3 : GOTO 209 


2860 C0ST=50: GOSUB 2870 :HN=N4: GOTO 209 


2070 POSITION COL, ROM:? GD=G:G=INT 

(G-(C0ST-(SL»C0ST3>J :IF G<HO THEN 2140 

2080 P=Nl: RETURN 

2090 FOR X=H1 TO N2:S0UND N0,N3,HO,N8: 

FOR Y=N1 TO N8:NEXT Y:50UHD NO, NO, NO, N 



2100 FOR Y=N1 TO N3:NEXT Y:HEXT X:FOR 

X=N14 TO NO STEP -0.3:S0UND N0,N5,Nie, 

X:SOUND N1,N20,N10,X:NEXT X:G0T0 1790 

2110 IF NOT P THEN 2150 

2120 POSITION N1,N3:? " I THANK THE 

E FOR THY PURCHASE!" 

2130 FOR X=N14 TO NO STEP -0.3: SOUND N 

0,30,N18,X:NEXT X:GOSUB DELAY2 :P=NO :G0 

TO 2150 

2140 P OSITION N1, N3:? " ■EEKCEB 
|;^MiiIiM!lJ^!Tt< J;1M " : GOSUB SND2: GOSUB DE 
LAY2:G=GD:P0P :GOTO 1790 
2150 POKE 559,N0:P0SITI0N N3,N3:? " 

2160 POSITION N7,N6:? "press****t+ thy 
**•<■**•+*«■ joystick**-<-*-*-***button": GOTO 

558 
2170 GRAPHICS N18 ; POKE .756 ' C"S ET : POSIT 

ION N2,Nl:? ttH6',"m!MEnaE33W' 

2180 POSITION N2,N3:? ttNe;"DO YOU MANT 

":? «H6;" TO PLAY AGAIN?" 

2190 IF I(DR)=HO THEN SC=SC+ (200-TURN) 

2200 POSITION N4,H7:? «N6;"SC0RE: ";SC 

2210 OPEN ttNl,N4,N0,"K:":GET ttNl,A:CLO 

SE ttMl:IF A=ASC(''N") THEN POKE 82,N2:E 

2220 IF A<>ASC("Y") THEN 2210 

2230 POSITION N4,N10:? nN6 i " BIini'„t J'.tJ AJ 



ISSUE 29 



ANALOG COMPUTING 



PAGE 45 



2240 RESTORE 2948 :HP=50 :5TR=i00 rSPL-MO 

: PIE=N1 : CNT=NO : B=:NQ : UN=N1 : G=ee : R00M=39 

:SC=N0:5H=N0:TURN=N0:G0T0 80 

2250 REM *** IMITIfiLIZE *** 

2260 RT0P=PEEK<ie6> -1121: POKE lOe.RTOP: 

GRAPHICS NO : DL=PEEK (5603 1^256«PEEK C561) 

+N4:P0KE DLHhN4,N7:P0KE DL+N5,N6 

2270 POKE DLHtN8,Ne:P0KE DL+N§,N6 : POKE 

710 , NO : POKE 752, Nl : MAP=RT0P+N1 : 5TTU5=R 

TOP+lie : 5T0RE=RT0P+H11 

2280 POSITION N4,N3:? "dragonlord" :POS 
ITION N8,H6;? "aft": POSITION 22, N6:? "H 



22?e POSITION Nie,N2e:? "ONE MOMENT PL 

EASE" 

2300 DIM RMCN77),I(N77},RM$C255),MU$tN 

20) , N5 CN9) , U$ (28} , DIR$ CN20) , S$ C120) , B$ 

C40),CL$(403 

2310 DIM R$(N1],R(N5},C$(N13,E$CN4),&$ 

C81) 

2320 5SCH1)=" ":5$C120)=" ":SSCN2)=S5 

2330 SS(N1)= SStl20J=" ":SS(N2J=S5: 

RESTORE 3370:F0R M=N1 TO 4e:READ A:CLS 

(X)=CHR$(A) :NEXT X 

2348 HN=Nl:PIE-Nl:CNT=MO:6=68:SPL-H0:H 

P=50 : STR=100 : B=H0 : R00M=39 : SM=NO : SC=NO : 

TURN=N0 

2350 R00MP0S=180 : CH00SEr290 : DIR=370 : CL 

UE=210 : DEAD=2170 : DELAY2=360 : SND1=160 : S 

ND2=170:TEL=13O 

2360 RMS="rht+t*l K****-^ rSf *** I I* 

*t* ^ rS t*tH I i*^*" '— ' »— I **** I H**** "■ 

2370 RM$C86)="r— i+**H K*+* ■— ' rH**+* 

2380 RMSC171>="rH****l | +***•—* i-ti+** 

****!—• rS***H |4**+h-'" 

2350 M$="NONE DAGGER S SHORDL SHORD" 

;DIR$="no rtheast southwest " 

2400 D$-"\ 



++++; ++++; 
:+ + +j + ; ; + ; + ! + ; + • ■ + ; 






H" 



2410 CHSET=RT0P+N17 : CHBASE=CHSET*255 : P 

OKE 203,N0:P0KE 204, CHSET :POKE 205, NO: 

POKE 206,224 

2420 FOR X=N1 TO N2e:READ A:MU5(X)=CHR 

5(A):NEXT X:D=USRCADR(MV$}) :POKE 756, C 

HSET:GOTO 30 

2430 DATA 104,104,104,162,255,160,58,2 

02,208,9,136,208,6,170,202 

2440 DATA 138,208,241,96,142,10,212,14 

2,22,208,24,144,235 

248,80,102,102,126,231,0 
252,182,252,102,102,124,0 
254,102,112,240,102,62,0 
248,108,102,230,108,124,0 
254,96,124,224,102,126,0 
254,99,252,108,96,96,0 
254,102,96,238,102,62,0 
118,54,126,54,54,118,0 
126,24,60,24,24,126,0 
14,6,6,246,102,60,0 
230,110,248,120,110,102,0 
240,96,224,96,118,126,0 
227,119,255,107,99,119,0 
230,118,126,126,110,246,0 
254,102,230,102,102,126,0 
252,102,238,124,96,112,0 
254,102,230,102,108,118,0 
252,102,230,124,108,118,0 
254,96,126,6,102,126,0 
126,216,24,24,24,28,0 
230,102,230,102,126,124,0 
230,102,230,102,126,24,0 
227,99,235,127,119,99,0 
230,102,60,60,102,118,0 
230,102,60,24,56,56,0 
254,108,24,48,102,126,0 
2710 DATA 170,170,170,170,170,170,170, 
170 

2720 DATA 0,254,102,238,118,102,126,0 
2730 DATA 0,24,120,120,24,24,126,0 
2740 DATA 0,124,102,76,24,54,126,0 
2750 DATA 0,126,206,24,12,102,62,0 
2760 DATA 0,12,28,60,108,254,12,0 



2450 DATA 
2460 DATA O 
2470 DATA O 
2480 DATA O 
2490 DATA 
2500 DATA 
2510 DATA 
2520 DATA 
2530 DATA 
2540 DATA 
2550 DATA 
2560 DATA 
2570 DATA 
2580 DATA O 
2590 DATA O 
2600 DATA O 
2610 DATA 
2620 DATA O 
2630 DATA 
2640 DATA 
2650 DATA 
2660 DATA 
2670 DATA 
2680 DATA O 
2690 DATA O 
2700 DATA 



2770 DATA 0,254,96,252,6,102,124,8 
2780 DATA 0,124,224,124,230,102,126,0 
2790 DATA 0,254,102,12,24,48,48,0 
2800 DATA 0,60,102,60,230,102,254,0 
2810 DATA 0,254,102,254,6,12,56,0 
2820 DATA 0,60,102,219,195,0,0,0 
2830 DATA 24,28,6,54,54,6,28,24 
2840 DATA 24,56,96,108,108,96,56,24 
2850 DATA 24,24,12,198,238,62,0,0 
2860 DATA 0,0,62,230,198,12,24,24 
2870 DATA 24,24,48,99,103,124,0,0 
2880 DATA 0,0,124,183,99,48,24,24 
2890 DATA 0,0,0,195,219,102,60,0 
2900 DATA 255,255,255,255,255,255,255, 
255 

2910 DATA 247,247,0,189,189,0,247,247 
2920 DATA 255,255,195,129,129,129,195, 



255 

2930 

2940 

2950 

2960 

2970 

2980 

2990 

3000 

3010 



REM *** ROOM DATA »»» 



DATA 4,6,6,9,6,9,6,9,6,6,5 
DATA 1,9,9,8,5,2,4,8,9,9,3 
DATA 12,11,2,4,3,2,1,5,2,11,12 
DATA 7,6,10,10,6,10,6,10,10,6,15 
DATA 11,12,2,1,5,2,4,3,2,12,11 
DATA 4,8,8,9,3,2,1,9,8,8,5 
DATA 1,6,6,8,6,8,6,8,6,6,3 
DATA 1,2,2,2,2,2,2,2,2,2,2,2,2,2, 
2,2,2,2,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5, 

3020 DATA 7,7,7,7,7,7,7,7,7,7,7,7,7,7, 

7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,-1 

3030 POKE 87,N0:P0KE 88,H0:POKE 89, MAP 

: A=USR CADR (CL$} , N15) 

3040 POSITION N18,N9:? R MSC154.1 70} 

3050 POSITION 26.N21:? "fcM^H JliTi" ; POSI 

TION N4,22:? ' 'kiSPJl UiL-ULtS" ; 

3060 POKE 89, STTUS: POSITION N5,N0:? "B 

ybtUilLUEJ" 

3070 POSITION NO,Nl:? " i 



T" 



3080 POSITION N0,N2:? 

mm' iJ i i iiii i ii i i i m i i i immimm 

3090 POSITION Ne,N3:? 

$\y. HEAPON: 
3100 POSITION N0,N4:? 

3110 POSITION Ne,N5:? 

$\y. SPELLS: 
3120 POSITION N0,N6:? 

$\y. 

3130 POSITION N0,N7:? 

Sly. SERUM: 
3140 POSITION N0,N8:? 

SIX 
3150 POSITION N0,N9:? 

Sly. GOLD: 
3160 POSITION NO.NIO:? . 

KiHHtt, I C KKMMKMK1CMKKMKK1CK & I " 

3170 POSITION NO, Nil:? " I— 
I I" 



ytmmmmmmmmt 

■ I 

y. NAME: 



HP: 



STR: 



«l 



PIE: 



3180 POSITION N0, N12;? 
3190 PO SITION N0 .N13;? 

tttttttf MBaiECmai Dttmm 

3200 POSITION N0.N14:? 

511 MOVE 
3210 POSITION 

S I I MAP 
3220 POSITION 
WHHtill CAST 
3230 POSITION 

' I STORE 
■■ ' ' ■■ 

3240 POKE 89, STORE: POKE 82, HO : POSITION 
N1,N0:? ", 



jtmtmiiiiiii iii i i i n i 

■ I 

.njL-.: y. ROOM: 

\\y. 

N0.N15:? " y. EXITS: 

N0.N16:? " C MKMKKMICKMKMK 

N0,H17:? "' 

1":P0SITI0N N20,N18:? 



3250 POSITION N21,H1:? 

3260 POSITION N4,N5:? ",,,,,,,,,,,, 

, press 



3270 ? " 



3280 



thy 
, joystick , 

button , 



PAGE 46 



ANALOG COMPUTING 



ISSUE 29 



3290 POSITIO N I<2,N1 1;? "\SEBSA IS 

anil!] \SigMi:M spells: le 

5 PIE : le DAGGER : 10" 
3300 ? " GYPSY : 20 LODGING: 15 S 
SHORD: 30 BREH : 60 DOCTOR : 15 
L SMORD : 50" 

3310 GRAPHICS NO:POKE 756,CHSET :POKE 7 
52,Nl:P0KE 710,160 

3320 POSITION N2,N10:? "MHAT MILL BE T 
HY NAME FOR THIS QUEST?" 

3330 POSITION N14,N13:? " **** 

*^*ttt*"; :INPIJT HS 

3340 FOR X=H1 TO HS : IF NSCX,KJ<>"-" TH 

EN NEKT X:GOTO 550 

3350 TRAP 3030 : N$=N$ CNl, X-Nl) : POP :GOT 

550: TRAP 40000 

3360 REM *** CLS DATA *H«f 

3370 DATA 104,104,104,133,205,165,88,1 

33,203,165,89,133,204,162,0,165,0,168, 

145,203,208,208,251,232,228,205 

3380 DATA 240,11,24,165,204,105,1,133, 

204,240,234,208.232,96 

3390 REM »#» MUS DATA *** 

3400 DATA 104,162,4,160,0,177,205,145, 

203,200,208,249,230,206,230,204,202,20 

8,242,96 



CHECKSUM DATA. 

(see page 32) 

1 DATA 303,273,991,703,317,844,392,368 

,499,372,465,771,238,819,436,7791 

130 DATA 16,407,617,441,292,82,517,583 

,844,68,34,989,990,999,9,6888 

280 DATA 607,336,734,603,164,657,664,4 

91 , 776 , 822 , 885 ,0,27,26,8, 6808 

430 DATA 59,996,548,579,573,52,155,157 

,130,163,588,691,164,914,325,6094 

580 DATA 786,127,135,549,784,372,735,7 

6,908,54,174,157,532,555,502,6446 

730 DATA 577,860,328,664,310,357,310,7 

8,65,506,771,107,525,767,631,6856 

880 DATA 774,750,265,270,55,81,881,924 

,951,576,143,808,989,399,367,8233 

1030 DATA 254,631,665,665,687,260,366, 

994,31,873,945,381,107,796,727,8382 

1180 DATA 550,505,359,151,411,320,843, 

285 , 882 , 427 , 90 , 293 , 707 , 463 , 709 , 6995 

1330 DATA 396,267,130,818,458,336,459, 

862 , 738 , 404 , 336 , 528 , 621 , 657 , 20 , 7022 

1480 DATA 924,197,227,785,735,734,411, 

999,376,868,722,710,718,884,107,9397 

1630 DATA 251,360,891,84,123,279,560,6 

13,618, 850 ,511,415, 788 , 832 , 588 , 7683 

1780 DATA 857,200,758,592,293,874,717, 

848,626,958,944,774,203,10,837,9491 

1930 DATA 540,969,888,218,207,157,221, 

109,877,684,884,439,67,77,951,7288 

2080 DATA 320,575,208,12,366,623,307,3 

40 , 355 , 363 , 338 , 590 , 695 , 632 , 365 , 6089 

2230 DATA 265,714,474,368,129,335,862, 

82,763,134,376,52,737,224,770,6285 

2380 DATA 860,934,384,580,395,874,12,9 

11 , 160 , 900 , 187 , 942 , 974 , 733 , 891 , 9737 

2530 DATA 622,588,158,758,968,193,164, 

944,175,182,906,612,157,892,787,8106 

2680 DATA 684,606,720,325,196,872,877, 

874,642,905,185,624,715,630,427,9282 

2830 DATA 645,834,633,635,654,659,430, 

401 , 277 , 414 , 107 , 647 , 636 , 685 , 163 , 7820 

2980 DATA 687,638,599,449,474,462,120, 

790 , 974 , 374 ,309,16,87, 916 , 93 , 6988 

3130 DATA 2,99,763,986,673,574,960,685 

,809,932,199,144,37,951,99,7913 

3280 DATA 864,802,153,861,865,110,794, 

446,41,827,282,84,660,6789 



Assembly listing. 



1 «»«»»»«itM«*«tt**4»«#*#«»*tt«« 


1 • 


MEMORY CLEANER » 


1 *♦•»*»*»»*#**♦*»»»♦»«**»#* 


1 fl-USR (ADR, PAGES) 




1 ADR-RDDRESS DF ROUTINE 


I PAGES 

I 


-NUMBER OF PAGES TO BE CLEARED 


«s 


*5isee 




P EQUATES 






SftVMSC 


„ 


«5S 




PAGES 


a 


«CD 




TMP 


=■ 


»CB 




) INITIALIZE 






1 


PLA 




! it OF ARGUMENTS 




PLA 




IHI-BYTE: IGNORE 




PLA 




!« OF PAGES 




STA 


PASES 






LDA 


SAVMSC 


J GET SCREEN ADDRESS 




STA 


TMP 


lAND STORE IT 




LDA 


SAUMSC+1 SIN TEMP WORK AREA 




STA 


TMP+1 




1 MAIN 


PROGRAM 




I 


LDX 


»B 


1 ZERO PAGE COUNTER 


NEXT 


LDA 


»e 


ILOAD WITH BLANK 




TAY 




SZERO INDEX 


CLEAR 


STA 


(TMP> ,Y 


(CLEAR ONE BYTE OF MEMORY 




INY 




! INCREMENT INDEX 




BNE 


CLEAR 


SGO CLEAR NEXT BYTE 




INX 




(INCREMENT COUNTER 




CPX 


PAGES 


;all done? 




BEO 


END 


!YES 




CLC 




)N0, MOVE 




LDA 


TMP+1 


;UP ONE PAGE 




ADC 


*l 






STA 


TMP+1 






BEO 


NEXT 


IGO TO CLEAR 




BNE 


NEXT 


SNEXT PAGE 


END 


RTS 




(BACK TO BASIC 



Talk to 
ANALOG Computing 

We're happy to announce that three members 
of our staff can now be regularly found on Com- 
puServe. If you're a CompuServe member, you 
can contact Tom Hudson, Charles Bachand or 
Art Leyenberger by leaving a message on the 
Atari SIG, which can be accessed by typing GO 
PCS -13 2 at any menu page. 

The Atari SIG has logged over 100,000 calls 
— with over 60,000 messages posted! They have 
a staff of highly competent SYSOPs, headed up 
by Ron Luks, who are more than happy to help 
you. Their program database contains well over 
a megabyte (that's one million bytes, folks!) of 
Atari programs that can be downloaded into 
your computer. 

So, if you need to get in touch with ANA- 
LOG Computing, you can now do it through 
CompuServe. Our user numbers are: 

Tom Hudson 70775,424 

Charles Bachand 73765,646 

Art Leyenberger 71266,46 



ISSUE 29 



ANALOG COMPUTING 



PAGE 47 



SUSPECT 
by David Lebling 
INFOCOM, INC. 
55 Wheeler Street 
Cambridge, iVIA 02138 
(617) 492-1031 
48K Disl< $39.95 



by Ray Berube 



Infocom has released a new text adventure for its 
mystery series. It is titled Suspect and is not for the 
inexperienced player. Retailing for $39.95, it is cer- 
tainly a chock-full adventure for the money. However, 
as varied and detailed as it is, Suspect doesn't satisfy 
as well as some of Infocom's earlier mystery adventures. 

Written by David Lebling, co-author of Zork and 
a mainstay of creative imagination at Infocom, Sus- 
pect invites you to play the role of a newspaper re- 
porter attending a "chic" Halloween costume party. 
As expected, your hostess is murdered with your lariat 
(you had to come dressed as Roy Rogers), and you sud- 
denly become the primary Suspect. The familiar char- 
acter of Sergeant Duffy is on hand to arrest you if 
you can't solve the crime by discovering the identity 
of the real murderer. 

According to Lebling, "Suspect combines the rich 
texture of The Witness with the complicated plot 
structure that distinguishes Infocom mysteries." It is 
also supposedly characterized by the dry humor fami- 
liar to Infocom fans. 

Well, before addressing these claims in detail, I'd 
like to take a moment to comment on one of Sus' 
pect's best features — its new packaging. There was a 
time when interested computer owners could spot an 
Infocom game from across the crowded software store. 
Its packaging was unique and very often beautiful, as 
with the fantasy game Enchanter. However, Infocom 
discovered a few drawbacks with implementing inno- 
vative packaging, namely: poor dealer space utilization 
and customer dissatisfaction. 

It looked pretty, but you couldn't stack it, shelve 
it, or put it in a drawer (the frisbee of Starcross springs 
to mind). It only caught your attention as a buyer if 
the dealer would display it. So some of Infocom's 
games began to experience sales declines, because of 
dealer reluctance to allot space displaying the unusual 
boxes. 

What to do? The wizards at Infocom got together 
and came up with a solution both practical and at- 
tractive. The change to a more uniform shape for the 
package, with a distinctive design for each game, has 
helped some Infocom titles, especially the Zork series. 

Suspect has arrived in a new box, compact and 
functional. It serves well as a storage unit for the game's 
components and it stacks neatly on the dealer's shelf. 
So, from now on, look for Infocom in a classy book- 
sized package. The days of Suspended's mask are gone 



(and I still haven't found the right opportunity to wear 
my Suspended mask). 

Now, on to the game itself. The opening moves re- 
veal a cast of very well-detailed characters, who can 
be interacted with most effectively. However, trying 
to map or chart their movements from ballroom to 
hallway to outside to office is quite a challenge. Not 
to mention that some of these characters are only 
known to you by their costume. Considerable care 
and patience is required to chart this opening. 

The inexperienced player should take heed! Sus- 
pect requires careful mapping and charting of charac- 
ters to keep things straight and to give you any chance 
to solve its riddles. The play is very user friendly, as 
with all Infocom's games. You can't fault a parser which 
allows you to communicate on a nearly conversational 
level with the game elements. 




Suspect. 

In fact, technically, this is probably Infocom's most 
complex and truly "interactive" adventure thus far. 
There is a whole rogues' gallery of characters with 
whom you can converse and interact. This reviewer 
could not find any negative aspects to report on con- 
cerning the programming of the adventure. 

The complaints I have are involved more with the 
tone and style of Suspect than with its mechanics. 
From the moment you open the package and read 
"Murder and Modern Manners" (the game's exposi- 
tory text), you get the feeling this whole adventure 
promises to be a joke — at your expense. 

The idea of finding oneself Suspected of murder and 
then being forced to find the real killer is a good one. 

(continued on page 52) 



PAGE 48 



ANALOG COMPUTING 



ISSUE 29 




by Michael Alan Barton 



The Atari 600XL home computer provides 320 by 
192-bit mapped graphics, 16K of RAM, built-in BA- 
SIC interpreter and external access to the microproces- 
sor's bus. The latter is referred to as the "expansion 
connector." The expansion connector is not docu- 
mented by Atari's Owner's Guide or other printed 
material supplied with the XL package. 

This article describes a project which had the fol- 
lowing as goals: (1) determine the pinout of the ex- 
pansion connector; (2) describe the characteristics of 
the system's clock; and (3) design and constructfa*siQa-^ 
pie memory interface to verify the findings in goals 
1 and 2. 

The 600XL is based on a modified version of the 
popular 6502 8 -bit microprocessor The microproces- 
sor's bus is divided into three sections. They are: the 
address, data and control busses. Access to each of 
these is available at the expansion connector 



■fiv 



Expansion connector pinout. l 

The first goal of the project was to determine the 

'pinout of the expansion connector This connector 

is an integral part of the XEs printed circuit board. 

There are twenty-five contact fingers on each side 
of the printed circuit board. The contact fingers are 
on 0.100 inch centers. A 50-pin card-edge connector 
is required to mate w^hr-the expansion connector. 

The expansion connector is designated as J2. The 
contact numbering and description are given in Fig- 
'^O)ou|je~lrr As shown, the even-numbered contacts are on 
the top side of the connector. They are numbered 2 
through 50. When looking at the connector from the 
back side of the computet; number 2/will be on the 
left side. The odd-numbered contacts are on the bot- 
tom side of the expansion connector Number 1 is 
directly under number 2, and number 49 is directly 
under 50. 



ISSUE 29 



ANALOG COMPUTING 



PAGE 49 











(49) 










(1) 




5 





J 
2 






TOP (COMPONENT SIDE) 




PIN DESCRIPTION 


PIN DESCRIPTION 


1 


26 D4 


2 GND 


27 D7 


3 A1 


28 D6 


4 AO 


29 GND 


5 A3 


30 GND 


6 A2 


31 GND 


7 A5 


32 02 


8 A4 


33 RESET 


9 GND 


34 N.C. 


10 A6 


35 RDY 


11 AB 


36 IRQ 


12 A7 


37 


13 A10 


38 N.C. 


14 A9 


39 


15 A12 


40 N.C. 


16 All 


41 GND 


17 A14 


42 N.C. 


18 A13 


43 RAS 


19 A15 


44 


20 GND 


45 R/W 


21 D1 


46 GND 


22 DO 


47 5 V dc 


23 D3 


48 5 V dc 


24 D2 


49 GND 


25 D5 


50 



Figure 1. Atari 600XL Expansion Bus (J2). 

The complete address bus is available at the expan- 
sion connector. The address bus is designated AO 
through A15. The microprocessor communicates with 
an external device by placing the binary address on 
Lines AO through A15 for the device. The most sig- 
nificant bit (MSB) is A15. The least significant bit 
(LSB) is AO. External devices connected to the ex- 
pansion connector are required to decode the address. 
Each device is assigned an address or range of ad- 
dresses. When an external device determines that it 
is being addressed by the CPU (microprocessor), it 
will transmit data to or receive data from the micro- 
processor on the data bus. 

The data bus consists of eight lines. They are desig- 
nated DO through D7. The MSB is D7, and the LSB 
is DO. Since 8 bits of data are transferred on the bus 
during any one bus cycle, the 600XL is considered 
an 8 -bit microcomputer. 

Several other lines make up the control bus. We'll 
discuss the two most important ones here. They are 
the phase 2 clock (02) and Read/Write signal (R/W). 

The R/W line is held high (2.4 to 5.0 volts) by the 
CPU whenever it is attempting to read data from the 
data bus. The R/W line transitions to the low level 
(0.0 to 0.4 volts) when the CPU is writing data to 
external devices. 

During the transitions of the R/W, address and data 
lines, the information on the bus is invalid. There- 
fore, peripheral devices must be signaled by the CPU 
when the bus lines are stable and valid data exist. The 
02 clock provides this function of signaling good data. 
While the 02 clock is low, the address bus lines are 
in the transition phase. As soon as the 02 clock goes 



high, the address bus and R/W lines present valid data 
to the peripherals. While the 02 clock is high, the 
data bus lines make their transitions. The data bus 
is signaled to be valid by the high to low transition 
of the 02 clock. 

The phase 2 clock of the Atari 600XL computer 
is found on pin 32 of J2. The clock frequency is L8 
MHz. A single clock cycle takes 550 nanoseconds. The 
02 clock is low for 300 nanoseconds and high for the 
remaining 250 nanoseconds of the clock period. 

The address and R/W lines transition to new states 
approximately 100 nanoseconds after the 02 line tran- 
sitions from the high to low level. The fall time for 
02 is approximately 15 nanoseconds, and its rise time 
is 50 nanoseconds. The fall and rise times were meas- 
ured from the 10% to 90% levels of the clock signal. 

The 02 clock's period is a measure of the speed at 
which the computer can execute instructions. An 
immediate mode ADD instruction takes two clock 
periods to complete. This corresponds to 1.1 micro- 
seconds. Many 6502 machine language instructions 
require only two clock cycles. The average is probably 
closer to three for many programs. Depending on the 
coding, the 600XL will execute instructions at a rate 
in the range of 300,000 to 900,000 instructions per 
second. 

Numerous ground pins (designated GND) are pro- 
vided on J2. A 5 -volt DC power source is found on 
J2-48. Use J2-48 for supply voltages for small projects 
only. 

Buffering the interface. 

A system is required to interface a project to the 
computer's expansion connector. One method is to 
use a 6- to 9 -inch ribbon cable assembly. The com- 
puter's end requires a 50 -pin card-edge coniTector with 
contacts on 0.100-inch centers. If the project is done 
using wire wrapping, then a 50-pin socket connector 
works well on the other end. A double row 50 -pin 
wire wrap header is required on the project's plug- 
board when the socket connector is used. 

T) complete the interface, the address and data bus 
should be buffered. This will improve the electrical 
noise immunity of the project's interface. Also, the 
computer will be protected against short circuits or 
other miswiring problems. 

Figure 2 shows a memory expansion project with 
Ul, U2 and U3 being the buffered interface. The 
TTL circuits in the 74LS244 work well for address 
buffers. U3 is an Octal Bus Transceiver. The direc- 
tion of data flow through the transceiver is controlled 
by the CPU's R/W line. The R/W line is connected 
to the DIR input of U3. 

The interface (shown on page 50) should be used 
with all projects that are designed for the 600XLs ex- 
pansion bus. 

Memory expansion project. 

The expansion connector pin designations were de- 
termined by tracing the interconnections of ICs on 



PAGE 50 



ANALOG COMPUTING 



ISSUE 29 



U4 



J2-32 



J2-4 

J2-3 

J2-6 

J2-5 

J2-8 

J2-7 

J2-10 

J2-I2 

J2-9 



J2-11 
J2-14 
J2-13 
J2-16 
J2-19 
J2-17 
J2-18 
J2-15 
J2-20 



J2-22 ■ 

J2-21 

J2-24 ■ 

J2-23 

J2-26 - 

J2-25 

J2-28 

J2-27 

J2-45 



LS244 





2 


1A1 1Y1 
1A2 1Y2 
1A3 1Y3 
1A4 1Y4 
2A4 U 2Y4 


18 


4 


16 


6 


14 


8 


12 


17 


3 


15 


5 


13 


2A2 2Y2 
2A1 2Y1 
16 
26 


7 


11 


9 


1 






19 











LS244 



LS245 



B1 
B2 
B3 
84 
85 
86 
B7 
88 
DIR 



u 

3 



A1 
A2 
A3 
A4 
A5 
A6 
A7 
A8 
G 



19 



BAO 
BA1 
BA2 
BA3 
8A4 
BA5 
BA6 
8A7 



-BA14- 



LSOO jO- 



LS151 





2 


1A1 1Y1 
1A2 1Y2 
1A3 1Y3 
1A4 1Y4 
2A4 U 2Y4 
2A3 '- 2Y3 
2A2 2Y2 
2A1 2Y1 
16 

26 


18 


4 


16 


6 


14 


8 


12 


17 


3 


15 


5 


13 


7 


11 


9 


1 






19 











BA9 - 
BA10- 
BA11 - 
BA15- 
BA14- 
BA13- 
8A12- 



BDO 
BD1 
BD2 
8D3 
BD4 
8D5 
8D6 
BD7 



BA11 ■ 



8A12- 



10 



8A13- 



u 

6 



s 

DO 
D3 
D2 
D1 
D4 
D5 
D6 
D7 



15 



14 



13 



12 



58725-15 



20 



18 



10 



13 



14 



15 



16 



17 



21 



OE 
CS 

I/O, 
I/O2 
I/O3 
I/O4 
I/O5 
l/Oe 
I/O7 
I/Ob 
WE 



u 

5 



2Kx8 RAM 




AO 


8 




A1 


7 




A2 


6 




A3 


5 




LA 


4 


A5 


3 




A6 


2 




A7 


1 




A8 


23 




A9 


22 




Ain 


19 



BAO - 
8A1 - 
BA2 - 
BA3 - 
BA4 - 
BA5 - 
BA6 - 
BA7 - 
BA8 - 
BA9 - 
BA10- 



Figure 2. Atari 600XL 2K Memory Expansion Schematic. 



ISSUE 29 



ANALOG COMPUTING 



PAGE 51 



the XEs printed circuit board. A partial schematic for 
the XL was produced. The schematic provided the 
information necessary to determine pin designations 
for most of J2, as shown in Figure 1. The foUowing 
memory circuit was designed and built to verify the 
findings of goals 1 and 2. 

The project provides 2K of additional volatile mem- 
ory for the XL computer. It consists of three ICs. Two 
TTL circuits were used for decoding the address lines. 
The address was decoded for location 4000 hex and 
occupies 2K. A 24'pin 2K by S-bit static RAM chip 
was used for the memory circuit. When the computer 
is turned on, this RAM will be used by the XL sys- 
tem for video memory. The memory circuit is shown 
in Figure 2. The power connections to each IC are 
shown in Figure 3. 



ITEM 
NO. 


vcc 


GND 


U1 
U2 
U3 
U4 
U5 
U6 


20 
20 
20 
14 
24 
16 


10 
10 
10 

7 
12 
8 



NOTE: PLACE 0.1 uF CAP ACROSS Vcc AND GND OF US. 



Figure 3. Vcc and Ground Connections. 

The RAM chip was wired directly to the buffered 
data bus and low order buffered address lines BAO 
through BAIO. The high order address bits are de- 
coded by U4 and U6 to provide a chip select (CS) 
signal to U5. The CS signal is synchronized with the 
02 clock by the first NAND gate of U4. 

The CS line will go low, thus selecting the 2K 
RAM chip only if the following conditions exist. 

BA15 = 
BAH = 1 
BAB = 
BA12 = 
BAll = 
02 = 1 

The memory expansion project was built using wire 
wrap sockets on a plugboard. It took four hours to 
wire, using hand wire wrap tools. 

After checking the wiring, the board was tested by 
plugging the project onto the 600XLs expansion con- 
nector. The power switch was turned to on, and oper- 
ation verified by simply looking at the TV monitor. 

As mentioned earlier, this extra memory is used for 
video memory by the computer. An assumption was 
made that, if the video was working, then the RAM 
card was okay. However, if the system didn't recog- 
nize the memory, then this assumption would not be 
correct! To verify that the Atari did, indeed, recog- 
nize the additional memory, it was simply asked with 
the PRINT FRE(0) statement. The answer was 15374, 



which is 2048 bytes more than without the expan- 
sion card. 

Conclusion. 

You may remember from goal 2 that Atari's clock 
is relatively fast, compared to the more typical 1 MHz 
CPUs found in other home computers. Care must be 
exercised when selecting components for projects. 
Their access times must be short (i.e., 450 nanosec- 
ond memory chips won't function properly with the 
600XL computer). 

The memory expansion project for goal number 3 
verified the information discovered in goals 1 and 2. 

I hope the J2 pinout listing and design project will 
be useful to the reader, as an aid in designing indivi- 
dual projects for the expansion bus. Such projects 
could include digital I/O cards and A/D or D/A con- 
verters, n 



Mr. Barton is the Manager of Software Products for 
Soft Systems Engineering, Inc. of York, Pennsylvania. He 
holds a Bachelor's Degree in Electrical Design Engineer' 
ing Technology and enjoys designing hardware projects 
for home computers in his spare time. 



Soon 

ANALOG 

Computing 

will be 

only 

a phone call 



PAGE 52 



ANALOG COMPUTING 



ISSUE 29 



(continued from page 47) 

A real sense of danger, excitement and a little paranoia 
is possible. So Suspect has a good idea, but fails to 
take that idea seriously. 

Throughout the adventure, references to other fami- 
liar mysteries are forever cropping up: for example, 
empty window box seats and Arsenic and Old Lace. 
Somehow, this adventure would be more fun, realistic 
and intriguing from a mystery point of view without 
these "dry humor" intrusions. 

All of this leads me to a point that I feel I must 
make at this time, concerning Infocom's current crop 
of adventures. Are these wizards of the text adven- 
ture afraid to be serious for a change? There seems 
to be a cynicism underlying their adventures, from 
Zork to Infidel and now Suspect. 1 haven't had the 
opportunity to play Cutthroats as yet, but its pack- 
aging seems to suggest more of the same. 

Perhaps it's time for Infocom to consider dividing 
the task of writing text adventures. There is no ques- 
tion that they have the technical know-how. 1 can't 
think of a software company that is even near to chal- 
lenging their technical skills. Maybe they need an in- 
fusion of new blood from the creative writing end of 
text adventures. Seastalker and The Hitchhiker's 
Guide to the Galaxy were collaborative efforts, and 
it may be time to do more games along this line. 

The future of text adventures is bright, and its 
brightest star is Infocom. If anyone is to succeed in 
bringing us more exciting adventure, I'm sure they 
will be a prime source. 

1 don't recommend the novice adventurer buy Sus- 
pect. He or she will be more frustrated than enter- 
tained by this game. I recommend The Witness, if 
you want to get a taste for mystery. 

If you're a seasoned gamer, and you aren't upset by 
constant kidding, then Suspect may be just your cup 
of tea. It is certainly complex, detailed and imagina- 
tive. I just wished it took itself a little more seriously, 
both as a game and an example of truly interactive 
fiction. D 



C ^-•^^♦^V^> Now You Can Make Your ATARI 

< NEW ^ 



SPEAK! 



• Build your own VOICEBOX • unlimited vocabulary 

• Uses Allophone based speech processor 

• All Radio Shack parts • For beginners and experts 

• No internal modifications to computer required 

• Plugs into gameports #1 and #2 

• Can be used on all ATARI computers 

• For instructions, parts list and sample program, 
send $7.00 check or money order to: 

RAK, P.O. BOX 452, STANDARD, CA 95373 




Presents: 



The World's Greatest Printer Utility! 



MegaFont ]( + 

The Complete Program Lister 
and Graphics Dumper 
by Richard Rognlie and 
Randy Dellinger 
. dandiest prooram lister . . ." Creative Computing 
MORE FONTS — FASTER DUMP — FONT UPLOADER* 

Allows NEC, Prowriter, Epson (w/Graftrax, RX-80, FX-80), Riteman, Gemini, Mannes- 
mann Tally, Panasonic & other compatible dot matrix printers to dump Graphics 7+ and 
8 screens in 3 sizes (4 on Epson) and print all control and inverse characters in fonts 
provided or use your own. New Features: Adjustable margins, FAST LISTER, Font 
uploader', adjustable line spacing. Font Splicer (combine 2 fonts together). 
•Prowriter 8510AP w/chip, Epson FX-80 & Panasonic KX-P1092 

48K disk please specify printer Only $24.95 

Chip for Prowriter $15.00 



*»*? 





TKe Ultimate Atari Database 



XLENT MegaFiler 

by Jerry Kwit (Mode Mixer 2) 

"I don't believe you can get better value for your 
money . . ." ACE Newsletter 

"Its claim to fame Is the large amounts of 
records It can handle." ANALOG 

XLENT MegaFiler is a very powerful and easy to use database system that can handle 
over 1500 records. Allows you to define a formula, modify database records, add or 
delete fields and modify field lengths. Features Report and Label generation. New 
Features: Sort on multiple fields, create report subfile. 
48K disk Only $29.95 



Create Your Own Game Screens With 



Mode Mixer 1 & 2 

by Margie Bliss and Jerry Kwit 

"It Is a well put together package for anyone wanting to put more 
graphics modes on the screen." ACE Newsletter 

48K disk Only $19.95 



Improve Your Math Skills With 



IjEloMPUTER 
LrJsSISTED 

IHrogram 



by Johnny Masuda 

". . . can easily complete with 
the high-priced spreads . . ." 
Creative Computing 



CIRCLE #123 ON READER SERVICE CARD 



32K disk or tape Only $19.95 

Add $2.00 for shipping and handling. C.O.D. orders, $1.65 fee is added. Virginia 
residents: Add 4% sales tax. Send check or money order to: 

XLENT Software 

P.O. Box 5228 

Dept. B 

Springfield, Virginia 22150 

24 Hour Order Phone (703) 644-8881 

Dealer Inquiries Welcome 

CIRCLE #124 ON READER SERVICE CARD 



SUPERPRINTER 
PACKAGES 

Gemini 10X and 

U-Print A 319.00 

Gemini 10X and 

Apeface XLPS 319.00 
Panasonic 1091 and 

U-Print A 364.00 

Panasonic 1090 and 

U-Print A 279.00 

Legend 880 and 

U-Print A 309.00 

Prowriter and 

U-Print A 385.00 

No additbnal ship, charges on 
printer packages in Cont. USA 



Bring the trivia craze home 
with P.Q. The Party Quiz 
Game for the Atari 800 & 
800XL (disk only) 49.95 



A ATARI 



ATARI is a trademark of ATARI, INC. 



Atari Inc. has cut all 
hardware and soft- 
ware prices. Please 
call for latest prices!! 



PRINTERS 

Axiom AT-550 . . . 279.00 

Epson Call 

Prowriter I 309.00 

Riteman Call 

Silver Reed Call 

Toshiba 1340 Call 

Toshiba 1351 Call 

Silver Reed Call 

Legend 880 239.00 

Panosonic 1090 . 219.00 
Panosonic 1091 . 285.00 




THE POWER BEHIND THE PRINTED WORD. 



Gemini 10X 
Gemini 15X 
Delta 10X . . 
Delta 15X. . 
Radix 10X.. 
Radix 15X.. 
Powertype . . 



245 

389 

339 

499 

.549 

.629 

.329 



ATARI MODEM 
SPECIAL 

Hayes 300 & 

R-Verter 239.00 

Hayes 1200 & 

R-Verter Call 

No additional shipping for Modem 
packages in Cont. USA 



MOSAIC 

48K RAM 99.00 

64K RAM/400 . . 149.00 
64K RAM/800 -i- 

Cable Kit #1.. 169.00 
64K Expander for 

600 XL 99.95 



-M- Call for prices on joysticks, printer cables, blank floppy disks, and other computer 



I 



W 



DISK DRIVES 

Indus GT Call 

Percom Call 

Astra 2001 Call 

MODEMS 

Hayes Amart 

Modem 300 Call 

Mark II 79.00 

Mark Vll/Auto Ans/ 

Auto Dial Call 

Mark XII/1 200 Baud.. Call 

MPP 1000 C Call 

R-Verter Modem 

Adaptor 39.95 

INTERFACES 

Aid interfast I Call 

Ape Face XLPS Call 

R-Verter Modem 

Adaptor 39.95 

MPP 1150 Call 

U-Print A Call 

accessories. ^ 

R E 

SPINNAKER (cont'd.) 

Delta Drawing-Cart 22.95 

Pacemaker -Cart 22,95 

Fraction Fever-Cart 22.95 

Grandma's House-D 19.95 

Kids on Keys-Cart 22.95 

Kindercomp-Cart 22.95 

Search /Amazing Thing - D . 22.95 

Snooper •! - D 22.95 

Snooper '2-D 22.95 

Story Machine -Cart 22.95 

Trains-D 22.95 

SSI 

Carrier Force -D 41.95 

Combat Leader-D/T 27.95 

Cosmic Balance ii-D 27.95 

Cosmic Balance - D 27.95 

Broadsldes-D 27.95 

War In Russia-D 55.95 

50 Mission CrtJSh-D 27.95 

Questron-D 34.95 

Rails Wesl-D 27.95 

Bomb Aliey-D 41.95 

Computer Ambush -D 41.95 

Galactic Adventures -D 41.95 

Computer Baseball -D 2795 

Reforger B8-D 41.95 

Objective Kursl<-D 27.95 

Breakthrough / Ardennes / D 41.95 

Field otFire-D 2795 

imperial Gaiactium-D .... 27.95 

SYNAPSE 

AlrSupport-D/T 23.95 

Alley Col-D/T 16.95 

BiueMox-D/T 23.95 

Dimension X-D/T 23.95 

Dreibs-D/T 23.95 

Eiectriclan-D/T 23,95 

Encounler-D/T 16.95 

Fort Apocalypse -D/T 23.95 

Necromancer-D/T 23.95 

New York Cily-D/T 23.95 

Pharoah's Curse-D/T 23.95 

Quasimodo -D/T 23.95 

Rainbow Walker-D/T .... 23.95 
Relax Stress Reduction Sys. . 79.95 

Shamus Case ii-D/T 23.95 

Zeppiln-D/T 23.95 

Syntile-D 34.95 

Syncalc-D 34.95 

Syntrend-D 34.95 

Synchron-D 27.95 

Syncomm-D 27.95 

Synstock - D 27.95 

D-Dlsk T-Cassette 
Cart-Coitildge 



ACCESSORIES 

Ape-Link 29.95 

Gemini lOX BK Upgrade .... Call 

Koala Pad-D 69.95 

Koala Pad -Cart 74.95 

Humply Dump-D 29.95 

Monitors Call 

CompuServe Starter 27.95 

Vidtex 29,95 

EiS Subscription Kit 64,95 

Analog Compendium 9,95 

Atari Assembler 14.95 

Compute's Machine 

Lang/Beg 12.95 

Inside Atari Dos 19.95 

Mapping the Atari 14.95 

Computes 1st -3rd Books 

Alari-EA 12.95 

Printer Stand 15.95 

Omnimon 82.95 

Omniview 80 39.95 

Printer Ribbons Call 

Ramrod XL Call 

WICO Joysticks Call 

MPP 64K Printer Buffer Call 

U-Prtnt 16, 32, or 64K Buffer. Call 

TAC III Joystick 12.95 

Startighler Joystick 9.95 

Ramrod XL 99.95 

Muppet Keys (XL Only) - D . 54.95 

ACTIVISION 

Decathoion-Cort 29.95 

Beomrider-Cart 29.95 

Hera-Cart 29.95 

Pitfall ll-Cart 29,95 

River Raid -Cart 29,95 

Designer Pencil -Cart 29,95 

Space Shuttle- 29.95 

Lone Ranger -Cart 29.95 

Zenji-Cart 29.95 

AVALON HILL 

Call tor items and prices 
BRODERBUND 

Bank Street Writer-D 49.95 

Lodenjnner-D 23.95 

Mask of the Sun-D 27.95 

Operation Whirlwind -D , , . 27.95 

Spoiunker-D 20.95 

Stelfh-D 20.96 

Whistlers Brother 20.95 

Print Shop-D 34.95 

Serpent's Star -D 2795 

CBS SOFTWARE 

Call for items and prices 




DATASOFT 

Bruce Lee-D/T 27.95 

Mlcropainter-D 23.95 

LostTomb-D/T 23.95 

Letter Wizard + Spell -D. .54.95 
Conan the Barbarlan-D/T. 27.95 

Mr. Do-D/T 27.95 

Dig Dug-D 20,95 

Pole Position -D 20,95 

Pacman-D 20.95 

DISKEHES 

Dysan Call 

Vertiatim For 

Certron 10 pak 

Elephant & 

Maxell Quantity 

Memorex Pricing. 

Ultra Magnetics 

BASF 

Wabash 

ELECTRONIC ARTS 

Archon-D 29.95 

Pinball Construction-D. , , .29.95 

M,U,L,E.-D 29.95 

Murder /Zinderneuf-D .... 29,95 

One on One-D 29.95 

Archon ii-D 29.95 

Financial Cookbook -D 37.95 

Music Consfmcflon-D . , , , 29,95 
Reaim/lmpassiblilty-D , , . 29.95 
Hard HatMack-D 29.95 

EPYX 

Call for items and prices 

INFOCOM 

Deadilne-D 29.95 

Enchonfer-D 23.95 

Infidel-D 29.95 

Planetfdii-D 24.95 

Sorcerer-D 29,95 

Sfarcrass-D 29.95 

Suspended -D 29,95 

WItness-D 29,95 

See Staiker-D 24,95 

Culfhroats-D 24.95 

Suspect-D 24.95 

Hitchiker-D 24.95 

Zork l-D 24.95 

Zork 11 or lll-D 27.95 

MINDSCAPE 

Coll tor items and prices 



MICROPROSE 

Chopper Rescue-D/T 23.95 

Fioyd/Jungle-D/T 23.95 

Hellcat Ace-D/T 23,95 

MIg Alley Ace-D/T 23.95 

NATO Commander-D/T . , 23,95 

Solo Flight-D/T 23.95 

Spitfire Ace-D/T 23.95 

Wingman-D/T 23.95 

Air Rescue l-D/T 23.95 

Chalienger-D/T 23.95 

F-15 Strike Eagle - D /T. ,. .23.95 

MISCELLANEOUS ATARI 

DIskey-D 34.95 

Ultra Disassembler- D . , . , 34.95 

Codewriter-D 39.95 

Star Ledgue Baseboil D/T 23.95 
Star Bowl Football-D/T... 23.95 

Master Type-D/Cart 27.95 

Flight Simulator II-D 37.95 

S,A,M,-D 41.95 

Castle Wolfenstein-D 20.95 

CompuServe Starter Kit. . . .27.95 

Home Accountant- D 49.95 

Megafont II-D 19.95 

Monkey Wrench 11 -C 37.95 

Movie Maker-D 37.95 

Ultima lll-D 41.95 

Jupiter Mission -D 34.95 

Boulder Dash-D/T 20.95 

Scraper Caper-Cart 34,95 

Miner 2049'er-Cart 34,95 

Spy Hunter- Cart /D 29,95 

Tapper-Oart/D 29.95 

Up 'N Down-Cart/D 29.95 

Beach Landing - D 27.95 

Pic Builder-D 27.95 

Astrochose-D 20.95 

Fllp-Flop-D/T 20.95 

Sargon II-D/T 16.95 

Odesta Chess-D 49.95 

Mllllanaire-D 2795 

Spy vs. Spy-D 23.95 

Adventure Writer-D 2795 

MMG Basic Compiler- D. , ,69.95 

Summer Games-D 2795 

Pitstop II-D 27.95 

Gateway to Apshai-Cart . . 27.95 
Montezuma's RevengB-D. ,27,95 

Dragon/Pern -D 27.95 

Adventure Master - D 34.95 

Get Rich Series-D 34.95 



MISC. ATARI (cont'd.) 

MPP Modern Driver -D 19.95 

Microflier-Cart 34.95 

Microcheck-D 34.95 

Mr. Do's Castle -Cart 34,95 

Frogger ll-Cart 34,95 

NetWorth-D 54.95 

Stickybeor-D 27.95 

Windham Classics -D 19.95 

Omnitrend Universe - D. . . ,69.95 

Space Beagle -D 23.95 

Adventure Writer-D 41,95 

Beachhead-D 23.95 

Letter Pertect/Speil-D.... 74.95 
Harcourt/Brtjce S.A.T,- , , .59.95 
S.A.G.E. Graphics Editor -D 39.95 

StrtpPoker-D 23,95 

Mllilonaire-D 27,95 

Scroll of Abadon-D 23.95 

Ultima IV-D 41.95 

Raid Over Moscow-S 27.95 

Micro-League Bosebali-D . 29.95 

Paper Cilp-D Call 

Home Pok-D 37.95 

Ultima II-D 41.95 

OPTIMIZED SYSTEMS 

Action-Cart 69.95 

Basic XL-Cart 69.95 

MAC/65-Cart 69.95 

MAC/65 Tool Kit -D 27.95 

Action Tool Kit-D 27.95 

DOSXL-D 27.95 

Action Ald-D 2795 

C65-D 59.95 

Handy-Wrlter-D Call 

Postal Tool-D 41.95 

Print Tool-D 41.95 

SCHOUSTIC 

Coll for Items and prices 

SCREENPLAY 

Call for Items and prices 

SEGA 

Call for items and prices 

SIERRA ON-LINE 

Cdll for Items and prices 

SPINNAKER 

Adventure Creotor-0 22,95 

Aerobics-D 27.95 

All in the Color Caves -C . . 22.95 
Alphabet Zoo -Cart 22.95 



To Order Call Toll Free 



For Technical Info, Order 
Inquiries, or for Wise. Orders - 

800-558-0003 41 4-351 -2007 








'^-Aif.ifi" &Qi^ •( (i,,j 'vij--:://_> 



ORDERING INFORMATION. Please specify system For fast delivery send cashier's ctieck, money order or direct bank transfers. Personal and 
company checks allow 2 weeks to clear. Charges for COD are $3,00, Sciiooi Purchase Orders welcome. In CONTINENTAL USA, include $3.00 
shipping per software order. Include 3% shipping on all Hardware orders, minimum $3.00, fwlastercard & Visa please include card # and expiration 
date. Wl residents please add 5% sales tax. Hi, AK. FPO, APO, Canadian orders — add 5% shipping, minimum $5.00. All other foreign orders, 
please add 15% shipping, minimum $10.00. All goods are new and include factory warranty. Due to our low prices, all sales are final. All defective 
returns must have a return authorization number. Please call 414-351-2007 to obtain an RA# or your return will NOT be accepted for replacement 
or repair. Prices and availability are subject to change without notice. 



COMPUTABILITY 

P.O. Box 17882 

Ivtilwaukee, Wl 53217 



ORDER LINES OPEN 
IVion-Fri 11 Alvl - 7 PM CST 
Sat 12 PtVI - 5 Pfvl CST 



CIRCLE #125 ON READER SERVICE CARD 



BACK ISSUES 




ISSUE 13 • Fine Scrolling Part 1 

• Roundup • Space Assault • 

Observational Astronomy • CIO 

Routines 




ISSUE 14 • Fine Scrolling Part 2 

• Disassembler in BASIC • 

Hexpad • Lumberjack • Retrofire! 






.u.{;."'''-'-ilni'*^»^H»t«fs 

ftlTtHtsVive Ke^qAROHAtlDLEB 



ISSUE 15 • Fine Scrolling Part 3 

• Knights & Chalices • Music 

Synthesizer • Bricklayer's 

Nightmare • Keyboard Handler 




ISSUE 16 • Fine Scrolling Part 4 

• Create-A-Fonl • Bar Chart 

Subroutine • Shooting Stars • 3-D 

Object Rotation 




ISSUE 17 • Planetary Defense • 

Disk Miser • Live without DOS • 

Boot Camp • D:CHECK2 




ISSUE 18 • Crash Dive • File'em 

• Munch'in Cllmb'in • H:BUG • 

Adventure Reviews 




ISSUE 19 • Battle in the B-RIng • 
A Look at Modems • Bulletin 
Board Systems • Siege • Touch- 
Tone- Dialer 




ISSUE 20 • Buzz-zap! • Scredit • 
AlterDOS • Bacterion! • ConTEXT 



ATARI PRINTER 
UTILITIES! 

:™".,, •»»« •■"•.'•'-■•■•■ 




ISSUE 21 • Selecting your Perfect 

Printer • Matt •Edit • Graph E's 

• Spy Plane • Printer Survey 




Erhimtloii 1 

nnti tlio Atari ^ 

ISSUE 22 • Math Attack • 

Micro-Puzzler • Typing Evaluator 

• Air Attack • Mathman • 

The Reading Program 




ISSUE 23 • Fire Bug • Minicomp 

• Dar[< Horse • Climber • 

P/M Creator/Animator 




BOFFO! 

Unlchock 

Bopotron! 

Race in Space 

AtariCon Roport 

Circuit Datahaso 

Cassotte Compressor 



ISSUE 24 • Circuit Database • 

Bopotron! • XL-DOS 

• Cassette Compressor • 

Race in Space • Unicheck 



All back issues $4.00 each 



Send check or money order to: Issues 25 and 26 are also available, 

ANALOG Computing Back Issues along with 

P.O. Box 615. Holmes. PA 19043 a limited number of issues 2 and 11. 



IVlasterCard and VISA orders call: 

1-800-345-8112 

in PA. '1-800-662-2444 



ISSUE 29 



ANALOG COMPUTING 



I 




mi 




r 



^■<? 




i 16KDisk 
i by Philip Altman 



All disk users have had the 
? unpleasant experience of mistak- 

enly deleting a wanted file. With 
a backup copy, there's no problem. 
But what if you haven't been so care- 
ful.'' There's no simple way to recover a 
deleted file with Atari DOS. In this arti- 
cle, I present Revive, a machine language 
modification iox DOS 2 .0, which gives you the 
power to rescue a scratched file with ease. Revive 
works with all Atari computers using Atari DOS 2.0. 

Atari disk structure. 

In order to understand how this program works, we will 
need to discuss some aspects of the Atari disk format. A typi- 
cal single-density DOS 2.0 disk is organized into 720 sectors (1 
to 720) of 128 bytes each. Certain sectors are reserved for the sys- 
tem, so not all are available for storing program data. The first three 
sectors are the boot sectors, which are read by the operating system 
when the computer is turned on. 
Beginning with sector 361, eight sectors are allocated to the disk di- 
rectory, which can hold up to sixty-four files. Each directory entry is 16 
bytes long and, along with the filename, contains information about the 
file type, its length in sectors and the starting sector number. One more 
sector, the Volume Table of Contents (VTOC, sector 360), is reserved for 
system use. Here, DOS keeps track of which sectors are already in use (i.e., 
assigned to files in the directory), and which are free. 

The remaining 707 sectors (sector 720 is unused by DOS) are data sectors. 
Each contains 125 data bytes (0-124) and 3 control bytes. These tell which 
file the sector belongs to, the number of bytes in the sector and which sector 
number comes next in the file. (amtinued on {xi^c 56) 




Atari 

-rhP definitive reference 



1 ^BCs of Atari Computers 

by David E. Mentley Sugg. Retail $14.95 

Full of useful information witfiout being overly technical, ABCs addresses 
a broad spectrum of Atari topics. Arranged in alphiabetical order many defi- 
nitions are clarified witfi accompanying programs. Written in clear, concise 
terms, this book can be used by beginners and experts alike. ~"| t" 



When you orders a hew subscription to 
ANALOG Computing, you'll receive your 
choice of ABCs of Atari Computers or 
Atari Roots FREE. Our supply is limited, 
so send in your subscription card today! 




Your choice of 




At^ri Roots 

by Mark Andrews Sugg. Retail $14.95 

The easiest guide ever to learning Atari assembly language. Using a 
"hands on" approach, you'll get started programming this fast, effi- 
cient language quickly This much needed book teaches assembly 
language using the Atari Assembler Editor and the popular MAC/65 
Assembler Programs will work on all Atari computers. 



Mail in the special subscription envelope inserted in this magazine, with your selection checked, 

OR 



CALL TOLL FREE 
(800) 345-8112 

in Pennsylvania 
(800) 662-2444 



THE #1 MAGAZINE FOR ATARI® COMPUTER OWNERS 



C?Eyfi^k.OK3 



RO. BOX 615 



HOLMES, PENNSYLVANIA 19043 



ISSUE 29 



ANALOG COMPUTING 



PAGE 57 



What happens when you delete a disk file? After 
processing the filename, DOS searches the disk direc- 
tory for a match. If the file is found, DOS sets a bit 
in the directory entry indicating that the file is de- 
leted. Then DOS reads each sector in the file, finds 
it in the VTOC, frees it for re-use and increments 
the free sector count. The directory search continues 
for the next match. If one is found, the process is re- 
peated until no further matching entries are found. 

How it works. 

You've probably already figured out how Revive 
works. The program simply reverses the DELETE 
process. 

First, the DOS directory search routine is instructed 
not to ignore deleted entries when testing for a file- 
name match. When a match is found, the file is re- 
stored to active status. Then, each VTOC sector bit 
for the file is reallocated as each sector in the file is 
read, and the free sector count is decremented. 

Revive has one important limitation. It cannot re- 
liably be used if any data has been written to the disk 
after a file was mistakenly deleted. The reason is that 
some of the sectors freed when the file was deleted 
may subsequently have been allocated to the new data 
file. Revive may then also assign these sectors to the 
rescued file. 

Reviving. 

Get started by carefully typing in Listing 1. After 
proofreading the program, SAVE it to disk. Insert a 
disk in drive 1 and RUN the program. A binary file, 
DhREVIVE, will then be written. 

For those interested in assembly language, the source 
code in MAC-65 format is presented in Listing 2. 

Revive is designed to be loaded from the DOS 2 .0 
utilities menu with the load binary file (option L.) 
command. You'll see a modified menu with the Re- 
vive command (option D.) highlighted in inverse. 
Enter the filename to Revive, according to DOS 2.0 
syntax. 

The menu reappears when the task is complete. Re- 
vive responds with ERROR 168 (command invalid) 
if a file isn't found or hasn't been deleted. Return to 
the standard menu by selecting option M. (run at ad- 
dress) and entering 179F (make sure there is a DOS. 
SYS-DUP.SYS disk in drive 1). Enter E477 instead, 
if you want to reboot the system. D 

Listing L 
BASIC listing. 

10 REH REVIVE LOADER by P.flLTMAN 18/84 
28 ? " iS";TRftP 130:0PEM m .8,0."D ;REVm 
Ell a -7 ill in I'll V)nr*fcflTVT^7*T^lMlHili 144" * "^ 
30'PUT ttl,255:PUT ttl,255:PUt ttl,54:PUT 

ttl,31:PUT tll,73:PUT ttl,31 
40 FOR 1=1 TO 20: READ D:PUT ttl,D:NEXT 
I 
50 PUT ttl,181:PUT ttl,31:PUT SI, 186: PUT 

ltl,31 
60 FOR 1=1 TO 6: READ D : PUT ttl,D:NE»T I 
78 PUT ttl,13:PUT ltl,35:PUT ni,18:PUT « 
1,35 



DI5K HRITE SUCCESSFULLY COMP 



80 FOR 1=1 TO 6: READ D:PUT ttl,D:NEKT I 
90 PUT »1,247:PUT «1,33:PUT ttl,148:PUT 

111, 34 
188 FOR 1=1 TO 500:TRAP 110:READ D:PUT 

ttl,D:NE}{T I 
110 PUT ttl,224:PUT ttl,2:PUT ttl,225:PUT 

ttl,2:PUT ttl,113:PUT ttl,32 

120 ? :? 

IM_=ttJJ" : GOTO 140 

130 ? "[aMMinioEa" 

140 CLOSE t}l:END 

150 DATA 77,111,100,105,102,105,101,10 

0,32,38,121,32,80,46,65 

160 DATA 76,84,77,65,78 

170 DATA 210,197,214,201,214,197 

180 DATA 82,69,86,73,86,69 

190 DATA 169,49,72,169,244,72,160,2,18 

5,124,29,136,281,58,288 

288 DATA 248,185,124,29,281,65,144,2,1 

69,49,41,3,133,33,32 

218 DATA 100,17,32,158,14,169,4,141,87 

,15,32,33,15,169,27 

228 DATA 141,87,15,176,8,172,5,19,185, 

1,28,48,3,76,191 

238 DATA 18,169,66,153,1,20,173,7,19,1 

0,18,157,129,19,185 

246 DATA 4,28,157,137,19,185,5,20,157, 

138,19,32,113,16,32 

258 DATA 146,16,174,1,19,32,36,16,169, 

81,141,241,16,169,56 

260 DATA 141,249,16,169,233,141,250,16 

,141,1,17,32,197,16,169 

278 DATA 17,141,241,16,169,24,141,249, 

16,169,185,141,258,16,141 

288 DATA 1,17,32,23,16,144,212,32,149, 

16,32,155,18,208,5 

298 DATA 169,1,32,27,18,76,119,32 



CHECKSUM DATA. 

(see page 32) 

18 DATA 268,287,681,989,153,887,38,891 

,187,371,625,614,604,125,549,7181 

160 DATA 727,515,48,701,281,181,774,98 

,64,294,673,785,837,777,6587 



Listing 2. 
Assembly listing. 



« REVIVE ♦ 

« « 

» FilB Rescue Utility * 

* ♦ 

* by Philip Altman « 

* ♦ 

»♦» DOS EOUATES »♦» 



ICDNOZ 


n 


»21 


IDRIVE » 


FNDCODE 


a 


»0E9E 


SFNAME DECODE 


SFDIR 


IE 


»aF21 


IDIR SEARCH 


RDNSO 


■> 


«1017 


SREAD SECTOR 


WRTDIR 


B 


»1071 


!WRITE DIRECTORY 


RDV60 


a 


»10'?2 


IREAD VTOC 


WRVTDC 


w 


»109S 


i WRITE VTOC 


FRESECT 


B 


«10CS 


! FREE/ALLOC SEC 


SETUP 


■■ 


all&4 


IINIT DOS I/O 


DDl 


B 


»121B 


J REWRITE BT SECS 


TSTDQS 


S: 


»129B 


STET FOR DOS. SYS 


ERDVDC 


a 


«12BF 


; INVALID CMD 


CURFCB 


a 


»1301 


(CURRENT FCB 


CDIRD 


B 


«1305 


!DIR DISPLACEMNT 


3FNUH 


B 


»1307 


JCURRENT FILE » 


FCBFNO 


B 


ti3ai 


IJUSTIFIED FILE* 


FCBCSN 


- 


»13B9 


(CURRENT SECTOR 


1 »»» DUP EOUATES »•» 


PAR 


» 


»1D7C 


! PARAMETER AREA 


MENU 


B 


»2077 


1 DUP ENTRY 


CIQER 


- 


»31F6 


J CIO ERR RET ADR 


1 


*B 


»1F36 




1 
1 


.BYTE "Modi 


•fi«d by P. ALTMAN" 


*B 


»1FB5 




1 


.BYTE +«B0, 


"REVIVE" 


I 


♦ B 


»230D 




f 


.BYTE "REVIVE" 



PAGE 58 



ANALOG COMPUTING 



ISSUE 29 



REVXT 
DELFIL 



LDfi 
PHfl 
LDfi 
PHA 
LDY 
LDA 
DEY 
CMP 
BNE 
LDA 
CMP 
BCC 
LDA 
AND 
STA 
JSR 
JSR 
LDfi 
STA 
JSR 
LDA 
STA 
DCS 
LDY 
LDA 
BMI 
JMP 
LDA 
STA 
LDA 
ASL 
fiSL 
STA 
LDA 
STA 
LDA 
ETA 
JSR 
JSR 
LDX 
JBR 
LDA 
STA 
LDA 
STA 
LDA 
STA 
STA 
JSR 
LDA 
STA 
LDA 
STA 
LDA 
STA 
STA 
JSR 
BCC 
JSR 



>CI0ER-2 ISTACK CID 
I ERROR RETURN 
<CIDER-2 lADRS FOR DOS 



tt2 
PAR, Y 

»• : 

FD 

PAR, Y 

(I'fi 

GOTNUM 

«• 1 

»3 

ICDNDZ 

SETUP 

FNDCODE 

*4 

»li)FS7 

SFDIR 

«tlB 

«0F57 

REVXT 

CDIRD 

»1401, Y 

DELFIL 

ERDVDC 

»*42 

»1401 , Y 

SFNUM 

A 

A 

FCBFNO, 

»1404, Y 

FCBCBN, 

»1405, Y 

FCBCSN+ 

WRTOIR 

RDVGD 

CURFCB 

»1024 

lt*Sl 

»l»Fl 

*«3S 

«10F9 

(t»E9 

«10Ffi 

«1 lai 

FRESECT 

14*11 

«10F1 

»«1B 

»ieF9 

«10FA 

mai 

RDNSO 
SECLP 
WRVTOC 



!FIND ": " IN 
JFILE NAME 



;test drive id 
ibr if numeric 

)DEFAULT = ltl 
ICDNW FROM ASCII 
ISAVE DRIVE » 
; INIT DOS I/O 
I DECODE FNAME 
SDON'T SKIP 
■DELETED FNAMES 
! SEARCH DIR 
JFOR DELETD FILE 
! RESTORE CODE 
IBR IF ABSENT 
ICUR DIR DISPL 
5MAKE SURE WAS 
; DELETED FILE 
;ELSE ERROR 
IMAKE GOOD 
;DDS 2 FILE 
!GET FILE » 
;SHIFT LEFT X2 

X ISAVE FOR ID 
IGET FIRST FILE 

X I SECTOR It 
IHAKE IT CURRENT 

l.X 1 SECTOR » 
(FIX DIRECTORY 
I READ VTQC 
) RESTORE FCB PTR 
IGET CUR SEC PRM 
I CHANGE FRESECT 
J SO VTOC BYTES 
iRE-ALLOCfiTED 
)T0 FILE 



; UPDATE VTOC 
1 RESTORE FRESECT 
;IN CASE ERROR 
I IN SECTOR READ 



;read nxt sector 
)d0 until eof 

)FIX VTOC 



JSR TBTDOS 

BNE EXIT 

LDfi «1 

JBR DDl 

JMP MENU 

»- «02E0 
.WORD MENU 
.END 



I MAS IT D0S.SYS7 

iSHOU DOS THERE 
1 REWRITE BT SECS 
SBACK TO DUP 



NEXT ISSUE: 

ZPLOTTER 



Z=SINCXJ*C05tYi 



HIGH Z=e. 99242 
LOW Z=-0.9916 




'' K-AKIS 



\i-''' 9 




"On a one to ten scale ... it's a sure bet 12!" 

— CURRENT NOTES October 1984 

" Visuaiizer ... as easy to use as it is useful." 

— COMPUTE May 1984 

AGES 10 to Adult 

For any Atari'"^ with 48K and disk drive 

Atari is a registered trademark of Atari, Inc. 



• Audio Option Available/Narration Tape 

• 28 Text Styles/Sizes Included 

• 1-2-3 Color Switching Animation 

• Rainbow and Sparkle Animation 

• Draw/Paint/Fill Routines 

• Printer Dump Routines 

• Puzzle Game Bonus! 






' With prepaid return within 15 days 




by MAXIMUS 



7-800-368-2752 

6723 Whiltier Avenue McLean, Virginia 22101 



CIRCLE #146 ON READER SERVICE CARD 



ISSUE 29 



ANALOG COMPUTING 



PAGE 59 




16K Cassette or Disk 



by Lee Brilliant, M.D. 



What do 2001 , Star Trek and Star Wars all have in 
common? Among other things, they all have that 
wonderful invention of the future, the talking com- 
puter! 2001 had HAL, the monotone malevolent; Star 
Trek's counterpart was decidedly female; and from Star 
Wars, we have the proper-English-speaking C3-PO 
and his "binary"-speaking (don't you speak binary?) 
pal, R2-D2. 

Now, your very own Atari home computer can be 
in the same class as these. All you need is a few hours 
and a few dollars to enter the world of Cheep Talk. 
Why a do-it-yourself speech synthesizer when there 
are several excellent speech products on the market 
already? Well, aside from the personal satisfaction of 
building it yourself, add-on devices are expensive in 
money, and software speakers are expensive in RAM . 
For under forty dollars, you can build your own Cheep 
Talk— it's easy to use and occupies little memory. 



First, a little theory. 

The subject of speech synthesis is very complex, 
and, though I make no pretense of this being a com- 
plete discourse on the subject, you need to know some 
language theory. 

The English alphabet has twenty-six letters in it and 
about forty separate sounds called phonemes. The rea- 
son that there are more sounds than letters is that 
many letters have multiple sounds, or that multiple 
letters make single sounds. For example, the letter g 
can be hard, as in go, or soft, as in gem. 

Actually, there are hundreds of variations of these 
phonemes, depending on how finely you can divide 
sounds. A sound such as a hard g can have slight dif- 
ferences in intonation and duration, depending on 
its location within a word and which vowels it associ- 
ates with. These variations of phonemes are called 
allophones. Cheep Talk uses fifty-nine allophones. 



PAGE 60 



ANALOG COMPUTING 



ISSUE 29 



How sounds are formed. 

If you type in SOUND 0,121,10,10, you'll get a C 
note that sounds like a toy organ. The sound thus 
produced is a single sine wave, and only the pitch and 
volume can be changed. 

Music made by the computer does not sound like 
a violin or a piano. Why not? The formation of mu- 
sic is more complicated, so that instruments differ 
from each other in sound quality in three ways: (1) 
the waveform, (2) harmonic content, and (3) the enve- 
lope shape. 

Waveform is the primary sound determinant. A saw- 
tooth waveform sounds harsh and sirenlike in com- 
parison to a sine wave which sounds purer. Sharp, 
angular waves tend to have more harmonics, which 
are the second determinant in sound. A harmonic 
is a frequency which is a multiple (or fraction) of a 
primary frequency. That is, 200 Hz (cycles per second) 
is the first harmonic of 100 Hz (see Figure 1). Some 
instruments, like the organ, have few harmonics, while 
others — stringed instruments, for example — tend to 
have more. 

Finally, the envelope is the overall sound/volume 
shape. A piano has a sharp rise in volume with a slow 
decay time, while a violin has a slower rise in volume 
and no decay, as long as the bow is moving across 
the string. 

-PRIMARY FREQUENCY 

1ST HARMONIC 




Figure 



Harmonics. 



Human speech is created in much the same man- 
ner as music. The vocal cords provide a primary wave 
shape called the glottal pulse (see Figure 2). 




Figure 2. Glottal pulse. 

The male pitch is around 141 Hz, while the female 
pitch is around 233 Hz. As with musical instruments, 
the tonal quality of a voice depends on the harmonics, 
which are created by the cavities of the vocal tract, 
including the sinuses, mouth, tongue, throat, etc. You 
can alter the sounds of speech by altering the size of 
these cavity resonators. 

For example, say "aaah" while opening and pursing 
your ^fps. Doing this changes the "aaah" to "oh." Say- 



ing "aaah" and moving your tongue up and down 
changes the "aaah" to "eeee." Some sounds, such as 
"b," use the vocal cords, but some, like "s," do not. 
The ones that do are called voiced sounds, and the 
ones that don't are called voiceless. 

If you take a look at the entire harmonics of human 
speech, you find that there are two major harmonic 
frequencies, plus the primary frequency, ranging from 
100 to 2000 Hz. The relationship of these in volume 
and pitch give speech its characteristic sounds. These 
relationships, in turn, are controlled by all the parts 
of the vocal tract. Human speech is a complicated 
collection of variables, including wave shape, enve- 
lope shape and harmonics. 

How do computers talk? 

There are three major ways the computer forms 
speech: digital encoding, analog and linear predic- 
tive coding (LPC). 

Digital encoding is best compared to today's digi- 
tal audio. A voice signal is chopped up into slices, 
and the volume of that segment is converted from 
an analog or voltage to a binary number (see Figure 
3). Each byte is stored in memory. When these bytes 
are read back in the same sequence and converted 
back to a voltage, it is integrated into a copy of the 
original signal. 

To be of good quality, the signal must be sampled 
at a rate double the highest frequency to be used. If 
we cut off speech at 5000 Hz, then the sample rate 
should be at least 10000 bytes per second! At that 
rate, the word hello could use 5 to lOK of memory! 

An example of this type of speech reproduction (not 
true synthesis) is the phone company's automated op- 
erators. While the reproduction quality is excellent, 
the vocabulary is limited. SAM (Software Automated 
Mouth) is a software example of this technique. It 
drives the sound channels directly, in machine lan- 
guage (see De Re Atari, section 7-21). Instead of a 
vocabulary of fixed words, SAM's is made up of pho- 
nemes which can be hooked together to give a large 
vocabulary. Nevertheless, it's still memory hungry. 



A 

M 








_ 


^ 














A 

L 
O 
G 




/ 


/ 


/ 








^■ 


\ 


\ 




1 


/ 




















\ 


E 
V 


4 8 J 


i i 


', k k i ^ . 


5 \ 


h 
L 


DIGITAL CODE 


\ 



Figure 3. 

Analog speech is based on a low frequency pulse 
generator for voiced sounds and a white noise gener- 
ator for voiceless sounds. These are passed through 
tunable filters to select which harmonics will go on 
to the amplifier, much like today's multichannel audio 
equalizers. 



ISSUE 29 



ANALOG COMPUTING 



PAGE 61 



The pitch and volume of the generators can also 
be varied, giving about nine separate adjustments 
which need to be continuously varied to create repro- 
ductions of voice. It would be difficult, indeed, for 
a human to twiddle all those knobs fast enough to 
make intelligible speech. 

Instead, the computer can feed the processor appro- 
priate parameters. Of course, the more frequently you 
feed the parameters, the more accurately you can de- 
fine the sounds, and the more intelligible the speech. 
Also. . .the more memory is used. Thus, when a series 
of computer-defined parameters is passed to the pro- 
cessor, it sounds like speech. 

LPC is somewhat "between" the two previous tech- 
niques. In structure, it is similar to analog synthesis 
using parameters to control I2-stage filters, volume 
controls and oscillator frequencies. Speech produced 
is better than analog, because the sample rate is high- 
er. But, despite the high sample rate, computer mem- 
ory requirements are very low. 

This feat is accomplished by an onboard micropro- 
cessor and 8 to 16K of built-in ROM. The processor 
calculates most of the control settings based on com- 
plicated formulae in its ROM. So, while the control 
parameters may be updated from ROM every twenty 
or so milliseconds, the onboard microprocessor is cal- 
culating hundreds of intermediate values. 



Your Atari doing the same thing in BASIC would 
take five to ten minutes to calculate what the speech 
processor does every twenty milliseconds. In this man- 
ner, the LPC system greatly improves the sample rate 
and the quality of speech, without the memory over- 
head of the digital system. 

The SP0256-AL2 speech processor used in Cheep 
Talk is of the LPC type, as is the Texas Instruments 
Speak 'n Spell. LPC speech is not truly synthetic, 
because the control settings are obtained from digi- 
tally encoded speech patterns, and so are modeled af- 
ter an original source. 

The SP0256-AL2 does not have a fixed vocabu- 
lary; rather, it has a set of allophones programmed 
into its ROM which can be strung together to make 
words. Vocabulary is almost unlimited. 

Building Cheep Talk. 

Construction is fairly straightforward. Except for the 
22pf capacitors, all parts are available at Radio Shack. 
The manufacturers of the SP0256-AL2 call for a 3.12 
MHz crystal which can be specially ordered, but I used 
a 3.579 MHz color TV crystal without any difficulty. 
Be sure you get the right speech chip; Radio Shack 
carries two versions of the SP0256 speech processor. 

The 28-pin socket and all components should be 
soldered in place before the integrated circuit is in- 
stalled. Wiring can be done on perf board with point- 



Attention Programmers! 

ANALOG Computing is interested in programs, articles, and software review sub- 
missions dealing with the Atari home computers. If you feel that you can write as 
well as you can program, then submit those articles and reviews that have been 
floating around in your head, awaiting publication. This is your opportunity to share 
your knowledge with the growing family of Atari computer owners. 

ANALOG pays between $30.00-$360.00 for all articles. All submissions for pub- 
lication must be typed, upper and lower case with double spacing. Program listings 
should be provided in printed form, and on cassette or disk. By submitting articles 
to ANALOG Computing, authors acknowledge that such materials, upon accep- 
tance for publication, become the exclusive property of ANALOG. If not accepted 
for publication, the articles and/or programs will remain the property of the author. 
If submissions are to be returned, please supply a self-addressed, stamped enve- 
lope. All submissions of any kind must be accompanied by the author's full address 
and telephone number. 

Send programs to: 
Editor, ANALOG Computing, P.O. Box 23, Worcester, MA 01603. 



PAGE 62 



ANALOG COMPUTING 



ISSUE 29 



to-point wiring or on a printed circuit. If you're into 
making your own board, then use the pattern shown. 
After all parts except the chip are installed, wire 
in the joystick plugs. If you can obtain a couple of 
cords from old joysticks, and if they have all six wires 
called for, then use them. Otherwise, use 9-pin plugs 
and 6 -conductor ribbon cable made by splitting the 
25 -conductor cable (see parts list). 

Pinouts. 

Connections for the joystick plugs are simple. If you 
are using the printed circuit, then the connections 
are numbered 1 to 4, plus 7 and 8. These correspond 
to the pin numbers on the plugs. 

Figures 4, 5 and 6 show the actual pin connections. 
The views of the plugs are looking at the end which 
interfaces with the computer, so that the cable goes 
away from you. The term port A corresponds to joy- 
stick plug 1; B is plug 2. 



DATA LINE 4 

DATA LINE 3 

DATA LINE 2 

DATA LINE 1 



ACCEPT LOAD (ALD) 

LOAD REQUEST (LRQ) 
DATA LINE 6 

DATA LINE 5 



5 



4 3 
• i 



1 



• • • • 

5 4 3 2 
• • • • 

9 8 7 6 



1 



+5 VOLTS 
GROUND 



Figure 4. 
Joystick plug 1. 



+ 5 VOLTS 
GROUND 

Figure 5. 
Joystick plug 2. 



The hoods for these plugs will not fit the computer 
without your removing the tabs at the ends, which 
hold the plug. Therefore, you need to use small flat- 
head machine screws to secure the plugs to the hoods. 

Double check the order of your pin connections and 



verify that no solder has bridged any connections on 
the circuit board. Mount the circuit board and ear- 
phone jack in the box and attach the audio output 
leads to the jack. Make an opening for the joystick 
cables and label the plugs, so you put them in the 
right sockets. 




Internal arrangement of the Cheep Talk voice synthesizer. 

Triple check all wiring, then install the chip. Note 
that there is a small dot on the top of the chip over 
pin 1. Locate the chip properly and install in the 
socket by pushing gently and evenly, being sure not 
to bend any pins. While digital chips are very forgiv- 
ing of wrong wiring, they give up when faced with 
static electricity. So ground yourself before handling 
the chip and leave it in its black conductive foam un- 
til the last minute. Close up the case. 






n 

n- 



JOYSTICK 
PIN 

PIN 4 


PLUG #2 

FUNCTION 

ACCEPT LOAD 


CHIP 
PIN 

9 


SPO- 
256 




CHIP 
PIN 

18 


PLUG #1 

FUNCTION 
PIN 

DATA 1 


JOYSTICK 
PIN 1 


PIN 3 


LOAD REQUEST 


20 




17 


DATA 2 


PIN 2 


PIN 2 


DATA 6 


13 


16 


DATA 3 


PIN 3 


PIN 1 


DATA 5 


14 


15 


DATA 4 


PIN 4 




+5 VOLTS 






+5 VOLTS 




PIN 7 


1 






PIN 7 



-n 
-n 



PIN 8 



GROUND 



GROUND 



PIN 8 



Figure 6. Pinout schematic. 



ISSUE 29 



ANALOG COMPUTING 



PAGE 63 



Once assembled, plug in the joystick cables and con- 
nect up to an amplifier. I use a small unit sold by Ra- 
dio Shack, which has its own amplifier and speaker 
in a compact case. You can also connect Cheep Talk 
to your Atari's cassette audio input line, so it will play 
through the TV. 

To do this, either put a clip lead on pin 11 of the 
serial jack, or open the plug on your serial cable and 
solder a wire to the number 11 connector, bringing 
it out the back of the plug. Attach it to the center 
lead of a miniature phone plug and connect to Cheep 
Talk. No ground wire is needed. 

If the volume isn't enough, jump C3 to pin 24 of 
the IC and eliminate C2 and R2. Stay away from 
stereo equipment or plug-in amplifiers, unless they're 
properly grounded or isolated. Failure to heed this 
warning may fry your computer! Power for Cheep Talk 
comes from your Atari through the joystick ports. 



2 4 6 8 10 12 

• •••••• 

13 5 7 9 I 13 



PiN 11 
CASSETTE AUDIO INPUT 



Figure 7. Serial plug. 



Using Cheep Talk. 

To use your new toy, just type in the short program 
and run it with Cheep Talk installed. If everything 
is right, the computer should talk to you and say, 
"Hello. This is ANALOG Computing magazine 
Cheep Talk." If it doesn't, recheck all wiring, espe- 
cially the order of the wires in the joystick plugs and, 
finally, your program typing. If it works, onward! 

T) make Cheep Talk say what you want, we must 
return to language theory briefly. The SP0256-A2 
has fifty-nine allophones (or speech sounds), and five 
pauses numbered to 63 . The trick is to know which 
ones to use. 

Table 1 contains a listing of the allophones by pho- 
netic groupings. Don't worry, it's not that hard. Td 
code a word into data statements, you first need to 
break the word down to its sounds. Spelling has no 
bearing on sounds! For example, you will find no let- 
ter c. Instead, you use s if it is a soft sound, and k 
if it is hard. 

Now refer to the chart in Figure 8. First of all, there 
are two major phonetic divisions: vowels and conso- 
nants. You know — a,e,i,o,u and consonants. In turn, 
there are three types of vowels: long (like in bE), short 
(like in bEd) and diphthongs or blends (like in bEAr). 

(continued on next page) 









Table 1. 


AUophone listing. 




PAUSES 








CONSONANTS continued 


10 ms 


(PA1) 


Before p, f, k. ch and between words 




STOPS ~ UNVOICED: 




1 30 ms. 


(PA2) 


Same 




p 9 


(PR) 


Please, amPle, triP 


2 50 ms- 


(PA3) 


Same 




t 17 


(TTl) 


Before s and in final position blends with other 


3 100 ms. 


(PA4) 


Between clauses and sentences 








consonants: gaTeS, STop 


4 200 ms. 


(PA5) 


Same 




13 


(TT2) 


ALI other positions 


VOWELS 








k 42 


(KK1) 


Before vowels a. a, e, e, 1, i, u. er, air, ear, and initial 


SHORT: 












blends with other consonant: Cute, Kit, Came, 
sCream, Clown 


* a 26 

* e 7 

* i 12 

* 24 

* u 15 
LONG: 

a 20 
e 19 
i 6 
53 
u 22 
31 


(AE) 
(EH) 
(IH) 
(AA) 
(AX) 


bAt, mAp 
sEt. tEnt 
sit, kitten 
pOt, mOp 
Up, lApel, truck 




41 
8 


(KK2) 
(KK3) 


Final position and final blends with other consonants: 

speaK, cliCK, taSK 
Before vowels ar, aw, o. oi, or, u, uh. and in initial 




FRICATIVES "~ 


blends with consonants: Coin. Collide, sCream, Clown 
VOICED: 


(EY) 

(lY) 

(AY) 

(OW) 

(UW1) 

(UW2) 


cAke, grEAt, grAte 

spEAk, pEEk, pEOple, pennY 

kite, skY, might 

gO, snOW, close, zOne 

After y sounds: yOUth 

In monosyllable words: twO, 100, tO, 


shOE, fOOd 


V 35 

dh 18 
54 

z 43 

zh 38 
FRICATIVES - 
• f 40 


(VV) Vest, prove, eVen 
(DH1) Initial Ih sound: THis, THey, THen 
(DH2) Final position and between vowels: baTHing 
(Z2) Zoo. phaSE 
(ZH) belGE, pleasure 
VOICELESS: 
(FF) Find, Finger 


DIPHTHONGS (BLENDS) 




* th 29 


(TH) 


THin, WITH 


R COLORED: 








* s 55 


(SS) 


Sit, Single 


ar 59 


(AR) 


fARm, gARment 




sh 37 


(SH) 


Shirt, wiSH 


air 47 


(XR) 


tlAIR, stARE 




h 27 


(HH1) 


Before vowels a, a, e, e, /, ear, air. Hat, Hair 


er 51 


(ER1) 


stlRring, lURniture, leltER 




57 


(HH2) 


Before vowels o, oi. u, uh, aw, or, ar Harm, Hoist, 


52 


(ER2) 


In monosyllable words: blRd, fERn, bURn 






Home 


ear 60 


(YR) 


tlEAR, pEER, IRresistible 




wh 48 


(WH) 


WHite. WHim, twenty 


or 58 


(OR) 


fORturn, stORe 




RESONANTS 






OTHERS: 








w 46 


(WW) 


We, War, language 


* aw 23 


(AO) 


AWIul. sOng, tALk 




r 14 


(RR1) 


Initial position: Red, Robot, WRite 


oi 5 


(OY) 


voice, tOY 




39 


(RR2) 


In initial blends with consonants: BRown, GRease, 


ow 32 


(AW) 


sOUnd, dOWn 








In the middle, use R-coiored vowels. 


* uh 39 


(UH) 


cOOkie, full 




1 45(LL) 


Like, 




ul 62 


(EL) 


litlLE, angLE. gentLE 






heL- 




CONSONANTS 










Lo, 




STOPS — VOICpn- 








sleeL 




b 28 


(BB1) 


Final position, between vowels and in 
consonants: rJB, flBer, BLend 


blends with other 


y 49 
25 


(YY1) 
(YY2) 


in blends: bEAuty, comp(Y)uter, c(Y)ute 
Initial position: Yes, Yarn 


63 


(BB2) 


Initial position before a vowel: Bat 




NASALS 






d 21 


(□01) 


Final position: saiD, enD 




m 16 


(IVIIVI) 


Milk, alarfvl, afvlple 


33 


(DD2) 


Initial position and in blends with other consonants: 


n 11 


(NN1) 


Before vowels a, a, e, e, i, i, u. u, er, ear, ow, air, and 






Down. DRain 








final consonant blends: Name, Now, Nervous, earN, 


9 36 


(GG1) 


Before the vowels a, e, e. i. ear, and air. Gear. Gift. 






turN 






Gate 




56 


{NN2) 


Before vowels o,o,oi, or, ar, uh: Note, North, Noise 


61 


(GG2) 


Before the vowels o, oi, u, u, uh. and 
other consonants: Gun, GReen 


in blends with 


bg 44 
JH-CH 


(NG) 


striNG, aNGer 


34 


(GG3) 


Before the vowels a, i. o. ar, er. or, aw, ow, blends in 


|h 10 


(JH) 


fuDGe, injure 






the middle of words, and final position: Gap, aGRee, 


ch 50 


(CH) 


CHurch, CHeer, feaTure, matCH 






peG 




* These sounds 


can be doubled for long sounds. 



PAGE 64 



ANALOG COMPUTING 



ISSUE 29 




The finished Cheep Talk synthesizer. 

Consonants are either stops, which are short, ex- 
plosive sounds Uke buh or guh, fricatives Uke v, reso- 
nants Uke r, or nasals like m, which you can't say with 
your nose pinched. Stops and fricatives can be voiced 
or voiceless, depending on whether the vocal cords 
are used — as in b or whispered like p. There are two 
consonant blends which do not fit: ch and j, because 
they are both fricatives and voiced stops. 



To use Table 1, you must break your words down 
into sounds. Decide if each is a vowel or consonant, 
and which type, then look it up in the table. Some 
sounds have several versions, such as g, so read the 
short rules next to the sound. Once you have the right 
sound, find its number and place it in order in the 
data statement. Also included are the phonetic code 
and some example words. 

Let's try "hello." The sounds are h, e, I, o. H is a 
consonant, a fricative type, which is voiceless. Its num- 
ber is 27. There are two h sounds. Number 27 goes 
with the short e (code EH), while 57 goes with other 
vowels. The e is a short vowel whose number is 7; 
I is a resonant consonant numbered 45; and, finally 
o is a long vowel numbered 53. So "hello" is really 
27,7,45,53. The dictionary that comes with the chip 
adds an extra vowel before the o. Some experi- 
mentation may be needed. Pauses are sometimes used 
within words so look at these, too. 

Running the program. 

Cheep Talk interfaces with the computer through 
the joystick ports. One pair of joystick ports make up 
a single 8-bit input/output port, and each bit of this 
port can be set to either send or receive. Line 10 sets 
this up for joysticks 1 and 2 (you can use locations 
54017 and 54019 for joysticks 3 and 4 on the Atari 
400s or 800s). 

The first 7 bits of the port are set to transmit, and 
the eighth bit to receive. The sixty-four allophones 
and pauses use the first 6 bits to code them in bi- 
nary. By dropping from +5 volts to 0, bit 7 tells the 
processor that an allophone number is on the first 
six lines. The processor accepts the load and begins 



WORD 



SOUNDS 



VOWELS 



SHORT 



LONG 



DIPHTHONGS 



STOPS 



VOICED I I UNVOICED 



CONSONANTS 



FRICATIVES 



RESONANTS 



VOICED 



UNVOICED 



NASALS 



JH/CH 



CHECK RULES IF SEVERAL 
ALLOPHONES EXIST 
FOR ONE PHONEME 



FIND NUMBER AND 
PLACE IN DATA 



Figure 8. Logic chart. 



ISSUE 29 



ANALOG COMPUTING 



PAGE 65 





PARTS LIST 




# 


Value 


Radio 
Shack # 


CI 


.1 pf 50 -volt capacitor 


272-1069 


C2 


.02 ]i{ 50-volt capacitor 


272-1066 


C3 


1 pf 16 -volt capacitor 


272-1434 


C4,C5 


22 pf capacitors 




ICl 


SP0256'AL2 speech chip 


276-1784 


Jl 


miniature phone jack 


274-251 


Rl 


lOOK V4-watt resistor 


271-1347 


R2 


33K Vi-watt resistor 


271-1341 


R3 


lOK Vi-watt resistor 


271-1335 


XTALl 


3.579 MHz TV crystal 


272-1310 


MISCELLANEOUS 




2 


9 -pin female D plugs 


276-1538 


2 


hoods for plugs 


276-1539 


1 


ribbon cable 


278-772 


1 


plastic case 


270-222 


1 


circuit board 


276-162 


1 


28 -pin DIP socket 


276-1997 


OPTIONAL 




Amplifier 


277-1008 



talking. At the same time, it sets its load request (LRQ) 
line to high, until it's done making its sound. 

Program Line 130 reads LRQ on bit number 8 and 
keeps the Atari from forcing a new load until the 
processor is done. When finished, LRQ drops low, and 
your computer responds by loading the next allophone 
address and strobing bit 7. This "handshaking" keeps 
things in order. 

One final word — as with most other new areas of 
exploration, it takes a lot of practice to be good. Don't 
get discouraged if, at first. Cheep Talk is hard to grasp; 
just keep at it. If nothing else, you might understand 
why English is one of the most difficult languages to 
master. . .especially to those who speak German or 
Spanish, where there are twenty-six letters and only 
twenty-six phonemes! 

The uses for Cheep Talk are many. Consider the 
possibilities of programs for the unsighted, instruc- 
tional tutorials, verbal instructions for your programs, 
or interactive games. Beam me up, Scotty! D 

(Program listings and circuit board 
design start on page 66) 



Reference: Electronically Speaking: Computer Speech Generation. John 
P. Cater, publ. Howard W. Sams & Co. 1983. 



P+5V 

-" f — f- 




LRQ 



^ 



ALD 




DATA 



7 19 23 



20 



D1-D6 
18-13 



R1 

-^vV-| 
100K 



SP0256-AL2 



1 22 10 11 



C1 

.iHf 



r~r7 



R2 

AAAa 
33K 



C3 

1uf 



-O- 



V 



XTAL1 



C4 

H 22 pf 
C5 



C2 O 

.02 pf 



Jl 



m 

Cheep Talk Schematic. 



PAGE 66 



ANALOG COMPUTING 



ISSUE 29 



Listing 1. 

188 P=PEEKC54818) :POKE 54818, P-4: POKE 

54816, 127 .'POKE 54818, P 

110 TRAP 588 

128 FOR 5=1 TO 99: READ 

138 IF PEEKC54816]>128 THEN 138 

148 POKE 54816,0+64 :POKE 54816, D:NEKT 

S 

298 DATA 27,7,45,15,53,4,4,18,12,55,55 

,55,3,12,43,3,26,11,15,15,45,24,24,1,3 

4,3,8,24,16,8,9,22,13,12,44,55,3 

388 DATA 58,19,1,9,3,13,23,23,1,41,8 

580 END 



CHECKSUM DATA. 

(see page 32) 

188 DATA 46,781,119,984,847,978,968,34 
,4581 



Listing 2. 
First Words. 

8 REH MICMKMKlCKlCmCKMMMlCMMmCKKlCM 

1 REM » FIRST WORDS » 

2 REM * by Lee Brilliant MD. * 

3 REM » for CHEEP TALK » 

4 REM « 1984 « 









18 GOTO 188 




28 READ 


N 




25 FOR S=l TO N:READ D 




38 IF PEEK(54816)>127 THEN 38 




35 POKE 


54816, D+64:P8KE 54816, D 


NEXT S 


:A=1>'1:P0KE 54816, 64:P0KE 54816 


,8:RETU 


RN 






48 DATA 


4,43,68,53 




49 DATA 


3,46,15,11 




58 DATA 


2,13,31 




51 DATA 


4,29,14,19 




52 DATA 


3,48,48,58 




53 DATA 


5,48,48,6,35,2 




54 DATA 


7,55,55,12,12,2,41,55 




55 DATA 


7,55,55,7,7,35,12,11 




56 DATA 


3,28,2,13 




57 DATA 


4,11,24,6,11 




65 DATA 


1,28 




66 DATA 


2,63,19 




67 DATA 


3,55,55,19 




68 DATA 


2,33,19 




69 DATA 


1,19 




78 DATA 


4,7,7,48,48 




71 DATA 


2,18,19 




72 DATA 


4,28,1,2,58 




73 DATA 


2,24,6 




74 DATA 


3,18,28,28 




75 DATA 


3,42,7,28 




76 DATA 


3,7,7,62 




77 DATA 


3,7,7,16 




78 DATA 


3,7,7,11 




79 DATA 


1,53 




88 DATA 


2,9,19 




81 DATA 


3,42,49,31 




82 DATA 


1,59 




83 DATA 


4,7,7,55,55 




84 DATA 


2,13,19 




85 DATA 


2,49,31 






Cheep 
Talk 

1984 Brilliant Software 



Cl 
I 



1 o 



(^ 



-R3- 



>l» 



IC 1 



Xtal 
I 



-C4- 
-C5- 



I C2'^ \udio 



gr 



+ v 



43 2187 78432 1 
PORT B PORT A 



Cheep Talk 
Printed Circuit Board Layout. 



ISSUE 29 



ANALOG COMPUTING 



PAGE 67 



86 DATA 2,35,13 

87 DATA 7,33,15,1,63,62,49,31 

88 DATA 6,7,7,2,41,55,55 

89 DATA 2,46,6 
99 DATA 2,43,19 

95 DATA 18,14,23,44,3,42,19,4,4,17,39, 
6,4,15,2,36,7,7,11 

188 P=PEEK (54018) : POKE 54018, P-4 :POKE 
54016, 127: POKE 54018, P 
110 X=7:Y=3 

120 GRAPHICS 18: POKE 712,44:G05UB 500 
125 POKE 16,64:P0KE 53774,64 
150 OPEN ttl,4,0,"K:" 
160 GET ttl.K 

170 IF PEEK(694)=128 THEN POKE 694, 0:K 
=K-128 

180 IF PEEK(7e2)<>64 THEN POKE 702,64: 
If— K— 32 

200 IF K>47 AND K<59 THEN 230 
210 IF K>64 AND K<91 THEN 230 
220 SOUND 1,100, 10, 10:A=l^l:S0UND 1,20 
0,10,10:A=lAi:S0UND 1,0,0,0 :REST0RE 95 
:GOSUB 20: POKE 764, 255: GOTO 160 
230 POSITION K+2,Y+2:? tt6;CHR$(K) 
240 RESTORE K:GOSUB 20 

250 X=INTCRND (01*16} : Y=INT (RND(0]#8) :? 
tt6;"lf":G0SUB 500:P0KE 764,255:G0T0 16 


500 POKE 712, 4+16«INT (RND (03«16) : POKE 
708 , 16»INT (RND (0>»16] +10 
510 COLOR 42: PLOT }<,Y:DRAMTO X+4,Y:DRA 
HTO X+4,Y+4:DRAHT0 X,Y+4:DRAHT0 X,Y:RE 
TURN 



DISK WIZARD n 



THE MOST COMPLETE UTILITY PACKAGE 
FOR ATARI* COMPUTERS AT ANY PRICE 

100% MACHINE LANGUAGE -SINGLE LOAD -MENU DRIVEN 

THIS USER FRIENDLY PACKAGE INCLUDES THE FOLLOWING POWERFUL 
PROGRAMS FOR THE ATARI' 400/800/XL SERIES COMPUTERS (40K REQUIRED) 

DISK BACK-UP — SINGLE/DOUBLE DENSITY • SUPPORTS 1 OR 2 DRIVES 

• ALLOWS BACKUP OF DISKS PROTECTED BY BAD SECTORING • FAST 
COPY OPTION • SECTOR STATUS SUMMARY • OPTION AL PRINTOUT OF 
SECTOR STATUS • DISK MAPPING 

DISK EDIT - SINGLE/DOUBLE DENSITY • DISPLAY/MODIFY/PRINT ANY 
SECTOR • SECTOR DISPLAYED IN HEX ASCII/ATASCII • WORKSWITH 
ANY FORMAT • SCAN SECTORS FOR A SERIES OF BYTES OR A STRING 

• DISPLAY/PRINT DIRECTORY • TRACE/REPAIR FILE LINKS • RECOVER 
AND AUTOMATICALLY VERIFY DELETED FILES • FORMAT DISKS WITH 
AUTOMATIC LOCK OUT OF BAD SECTORS • DECiMAL/HEX NUMBER 
CONVERSION 

DISASSEMBLER — single/double density • disassemble from 

DISK BY SECTOR NUMBERS • DISASSEMBLE COMPOUND BINARY F ILES 
BY FILE NAME • OUTPUT TO SCREEN OR PRINTER • SELECTABLE 
MNEMONIC DISASSEMBLY WITH OVER 400 STANDARD ATARI MEMORY 
LOCATION NAMES 

DISK SPEED — VERIFIES/ALLOWS ADJUSTMENT OF DISK SPEED • BAD 
SECTORING (BIO ONLY) 

INCLUDES COMPREHENSIVE MANUAL WITH MANY USAGE EXAMPLES 



ORDERING INFORMATION 

For last deliverv, send certified 
check or money order. 
MASTERCARD & VISA accepted._ 
(N.Y. Residents add 7% sales lax)" 
Ptione orders accepted on C.O.D. 
and charges. 

'^^^^S| VISA' 



$29^ /^^^ 



SOFTWARE. INC. 

10O QUARTZ WAY 
SYRACUSE, N.Y. 13219 

ORDERS TOLL FREE 
1-800-732-0320 

Info, and N.Y. Residents 
1-315-488-0485 



CHECKSUM DATA. 

(see page 32) 

DATA 1,415,675,809,718,11,435,332,13 

2,511,895,198,179,859,162,6332 

52 DATA 177,733,157,314,966,264,585,89 

6,199,893,603,411,865,396,681,8140 

74 DATA 155,983,154,160,153,611,706,17 

8,598,444,879,895,893,194,799,7802 

89 DATA 709,878,763,46,485,948,639,273 

,568,348,319,543,525,861,291,8196 

240 DATA 309,458,155,119,1041 



r- 


MOVING? 

DON'T MISS A SINGLE ISSUE. 

Let us know your new address right away. At- 
tach an old mailing label in the space provided 
and print your new address where indicated. 

QUESTION ABOUT 
YOUR SUBSCRIPTION? 

Check the appropriate boxes below: 

D New subscription. Please allow 4-8 
weeks for your first copy to be mailed. 
D Renewal subscription. Please include 
a current address label to insure prompt 
and proper extension. □ 1 -year $28.00. 
This rate limited to the U.S.A. and its 
possessions. D Payment enclosed or 


— 1 




D Bill n- 


ie. 

1 1 


« 










J 


O) 1 
CO 1 

o. ; 

CO 1 
CO i 








Q- : 


',— 1 








N [ 


d m 


■ t5 








1 


CO 1 
CO ■ 


1 Z 


CO 






1 


o 1 


1 1- 


o 






J ATTACH 


"CI I 
"O 1 


■ 3 


a> 






1 


cts ■ 


1 Q- 








1 LABEL 


<=> 1 


1 O 


< 
a. 




a> 1 

S 1 HERE 


o 1 


1 ^ 


VI 




w I 


■— 1 


1 <5 

1 o 


0) 

E 








CL ■ 


1 _l 


o 










1 < 


X 








ca 1 


1 z 


^ 








-£Z 1 


1 < 


in 

(O 








o ' 
cz 1 


1 1- 


X 

o 






CO 1 


1 _l 


DQ 0) oj ' 1 


-Q J 


1 < 


'-' CO -D -t^ ■ 




1 s 


Q. Z < O 1 
1 


-J 



CIRCLE #126 ON READER SERVICE CARD 



PAGE 68 



ANALOG COMPUTING 



ISSUE 29 




GEM screen © 1984 Digital Research. 



by Arthur Leyenberger 



Welcome to the first installment of 
The End User. This will be a regular 
column in the pages of ANALOG 
Computing that will bring you news, in- 
formation, application tips, short re- 
views of useful or significant products, 
or whatever else seems of interest to me 
or you. We may even do a little gossip- 
ing and philosophizing. 

ANALOG Computing already brings 
you excellent programs and program- 
related information each month. My 
goal is to make the End User column 
a place where you can find information 
on how to get the best from your Atari 
computer, regardless of how experienced 
you are, or how much equipment you 
have. I welcome your input on what 
topics you would like to see covered in 
the coming months. Send correspon- 
dence to the address given at the end 
of this column. 



The entire line of Atari's new ST com- 
puters, based on the Motorola MC68000 
microprocessor, will use the new Graphics 
Environment Manager (GEM) software 
from Digital Research. The Atari 130ST 
and 520ST computers use a proprietary 
operating system developed jointly by 
Atari and Digital Research. According to 
Sam Tramiel, Atari chose the GEM in- 
terface because it represents the most ad- 
vanced microcomputer technology and it 
makes personal computers easy to learn 
and use. 

GEM software eliminates the need for 
cryptic operating system commands by 
presenting the user with a pictorial rep- 
resentation of a desk's surface. Familiar 
icons of disks and a wastebasket appear 
on the desktop, while folders and docu- 
ments appear in user-controlled windows. 
B^ simply moving the mouse and click- 
ing its button, the user can open a file, 



run a particular software program, delete 
a file or do anything else allowed b^ the 
operating system. 

In order to better understand the GEM 
operating environment, I am pleased this 
month to present an exclusive interview 
conducted with Rob LdTulipe from Digi- 
tal Research. Rob is a Product Line Man- 
ager with DR and was gracious enough 
to talk about their affiliation with Atari 
and the new GEM operating system. 



AL: Digital Research has created the 
Graphics Environment Manager (GEM). 
Please tell us about it. 

RL: Let me first differentiate between 
our software and the other programs be- 
ing shown on the ST family. We basi- 
cally worked on two software projects. 
First, the TOS operating system which 



ISSUE 29 



ANALOG COMPUTING 



PAGE 69 



is a proprietary implementation for the 
Atari ST computers. 

Now GEM, as a graphics user inter- 
face, is a portable operating system ex- 
tension. We have been working on 
GEM for well over a year as a graphics 
user interface for MS-DOS and PC- 
DOS. Written primarily in C, we were 
able to easily take that technology and 
recompile it, port it over, for the TOS 
68K environment on the ST family. 

So those were the two projects. . .one, 
to create an Operating System (OS) for 
the 68K chip to Atari specifications; and 
two, take the technology that we were 
already developing for our commercial 
use in the DOS world and move that 
over to the new environment. 

AL: How does the GEM operating sys- 
tem differ from the Apple Macintosh oper- 
ating system environment? 

RL: In terms of what is in the Mac, 
there is an OS and there is a graphics 
user interface capability. Here there is 
TOS, or on a PCjr for example, MS- 
DOS, and a graphics user interface em- 
bodied in GEM. Other than there be- 
ing an analogy between software pieces 
that essentially do the same thing, there 
is not a great deal of similarity in terms 
of the call systems. 

AL: Does GEM put a large burden on 
the Motorola 68000 microprocessor, or 
does it use a lot of the support chips that 
the Atari ST computer has which, perhaps, 
the Mac and the IBM don't have? 
RL: GEM itself is not hardware de- 
pendent. That is, it is truly portable. It 
takes advantage of hardware, in the 
sense that at the core of GEM is what 
is called the virtual device interface, 
which is a concept that has been deve- 
loped over a period of several years. 

Digital Research was actually the first 
company to ship a VDI in the micro- 
computer world (our GSX product) two 
years ago, so we were a pioneer there. 
In fact, IBM now has their own VDI as 
well, so it is a common concept in the 
MS-DOS world, and is the subject of 
much ANSI (American National Stan- 
dards Institute) committee activity. 

AL: What, actually, does a VDI perform 
within the computer? 
RL: The purpose of the VDI is to al- 
low a programmer and software to deal 
with an abstract conceptual concept of 
space, within which graphics are drawn, 
and let software device drivers translate 
what is program into actual device 
output. 



For example, our GEM draw product 
is written in a 16K by 16K unit coor- 
dinate system where drawings can be 
made, and yet that can be translated by 
loading in a particular software device 
driver and can be output to a screen or 
a printer or a polaroid palette camera 
(which we have a driver for in our IBM 
retail product). Programmers need not 
concern themselves with the actual phy- 
sical device. They would load in a work- 
station as part of the programming code 
to identify what kind of device it is that 
the graphics are currently being written 
to. 

AL: So it is really designed with port- 
ability being the major thrust of the soft- 
ware system? 

RL: Yes. That's how we were able to 
move it quickly over to TOS when the 
time came. 



GEM itself 
is not 
hardware 
dependent. , , 
it is truly 
portable. 

AL: I understand Commodore has GEM 
running on their IBM clone computer 
slated for the European market. Are there 
different "flavors" of GEM, or is the Com- 
modore implementation of GEM the same 
as that seen on the new Atari ST com- 
puters? 

RL: Before I answer that, let me spell 
out the various components of GEM. 
GEM is systems software in terms of our 
product called the Graphics Environ- 
ment Manager. It is strictly systems soft- 
ware that extends the OS. 

What you see, then, be it Atari's Logo 
product or the desktop application for 
the ST computers, are mainly applica- 
tions. The metaphor that allows end 
users to vistially look at a desktop, rather 
than having to think about OS com- 
mands, is itself an application. It is not 
GEM itself, but rather the GEM desk- 
top application. 



What you see, in fact, is something 
where, because we have a system of 
resource and image files supporting the 
main program, you can literally swap a 
file in a few seconds and go from a 
French desktop to an English desktop, 
or a desktop with a certain selection of 
icons to one with an entirely different 
set of icons. So, what you see visually 
is extremely malleable and can vary from 
time to time. In terms of the icon set 
that Digital Research will ship with its 
DOS products. Atari has the choice of 
using our set or their own set — that may 
look completely different. 

AL: It sounds like Atari can use whatever 
set of icons they want to and may, in fact, 
change the icons as they market the com- 
puter for different countries. The applica- 
tion is really like a second layer of the user 
interface, and one with which the user in- 
teracts. Is that basically correct? 

RL: The GEM desktop application is 
a special application on the Atari ST 
computers because it is designated, with- 
in the GEM system software, as being 
the primary application. But someone 
else, another OEM, could do a different 
kind of metaphor that they want all ap- 
plications to return to when it's finished 
executing, and designate that as the pri- 
mary application. That would be equally 
valid. 

It is just that we ourselves have felt 
strongly that the key functional appli- 
cation in any work session is something 
that will manage and interact with your 
disk files. So that is what the GEM desk- 
top does. 

AL: So does that mean that, if I have an 
Atari ST computer at home and, say, a 
Commodore PC using GEM at the office, 
I am going to see the same desktop in both 
cases? 

RL: It will depend on the company in- 
volved. Digital Research is not involved 
in the decision on the part of either of 
those companies— or any other OEM, 
for that matter— how they implement 
the desktop metaphor. 

AL: Coidd it be the same desktop appli- 
cation, or is that ivhat you are licensing to 
the Itardware manufacturer? 
RL: Digital Research will license to 
OEMs, and are actively doing it now in 
the MS-DOS world, a certain desktop 
with a certain look. The OEMs are wel- 
come to use that as is, and there may 
be some good marketing reasons to do 
so, but they are also more than welcome 
to change the look of it in terms of 



PAGE 70 



ANALOG COMPUTING 



ISSUE 29 



changing the icons or that resource file. 
So Atari could choose to be the same 
or be different, depending upon their 
marketing orientation. 

AL: So functionally it may be the same, 
but it may appear different? 

RL: Yes, exactly. All GEM applica- 
tions can take advantage of what Atari 
is calling drop-down menus, which des- 
ignates a different — and, we feel, better 
— way of functioning than what we have 
seen in other graphics user interfaces. 

AL: What are the major components of 
a graphics user interface? 

RL: The graphics user interface the- 
ory, which has been in the process of 
evolution for the past twenty years, has 
four components: overlapping, scrollable 
windows; forms; icons; and menus. Ap- 
ple did not invent it with their Mac, but 
they were the first to popularize it. 

AL: As an IBM PC user, can I go out 
today and buy GEM for my PC? 

RL: GEM is geared primarily to soft- 
ware application solutions, so the answer 
is yes, but what you will really be doing 



is going out and buying a productivity 
application like GEM Draw. 

Apple did not 
invent it (the 
graphics user 
interface), . . 
but they were the 
first to popularize 
it. 



There is a new product for the 8-bit 
Atari XE computers called Infinity. It is 
an integrated product from Matrix. Ma- 
trix is committed to GEM for the ST 
family, and if they decide to market it 
in the MS-DOS world— which is their 
prerogative, if they buy the license— you 
could buy, say, GEM Infinity for the 
IBM. 



Digital Research will also market 
GEM and assorted GEM applications, 
so end users will have a lot of ways to 
get GEM desktop in the IBM world. We 
will provide the drivers for whatever 
computer is being used to run the ap- 
plication. 

AL: Do you see GEM as being a new 
standard? 

RL: That is our goal, certainly 



That's it for this month. I would like 
to thank Rob for enlightening us on 
GEM and what the next generation 
Atari computers will be like. Next time, 
I'll talk about how to take pictures of 
your television or monitor. 

Until next month, remember — you 
are the End User! D 



The End User 

c/o ANALOG Computing 

P.O. Box 23 
Worcester, MA 01603 



DISK 
BREAKS? 

Fast, Reliable Repair 

for Atari 810 & 1050 

Disk Drives 



■ 3 Day Turnaround 

■ 90 Day Warranty 

■ $85 Flat Rate with 
Repairable Exchange 

■ Spare Parts Available 

Dealers — Special Rates Available 
Ask about Express Expedite 

Add $10 shipping & handling. 
Check, MO, Visa, MC 

MPS 

The Disk Drive Specialists 

(916) 786-6550 



Call 8:00-5:00 Pacific Time 



CIRCLE #127 ON READER SERVICE CARD 



ATARI WRITER 



KEYBOARD 
TEMPLATES 

Have the RIGHT 

commands for your 

software at your 

fingertips! 



• Heavy guage plastic 
for lifetime of use 

• "At-A-Glaiice" sum- 
marizes all commands 
required to learn and 
operate your programs 

• Symbols and function 
keys explained 

•The preceding copyriglil ol Alari, UK and Synapse 

800 and XL Series 




Syncalc, Syn File 

Atari Writer 

Letter Perfect 

Data Perfect 



1495 

■ ^" each 

includes shipping 



Send CHECK or MONEY ORDER to: 



Dept. 2, 86 RIdgedale Avenue, 
Cedar Knolls, NJ 07927 

New Jersey Residents include 6% sales tax. 
Dealer inquiries invited. 

CIRCLE #128 ON READER SERVICE CARD 



RAM for ATARI* 1 


Fully Assembled • Lifetime Warranty 1 


48Ky52K Memory Board 

For ATARI* 400 

52K Addressable Memory 

Easy to Install 


$79.95 


32K Memory Board 

For ATARI* 400 or 800 


$54.95 


16K Memory Board 

For ATARI* 800 


$39.95 


BUILD YOUR OWN MEMORY 




48K/52K Bare Board 
32K Bare Board 
16K Bare Board 
48K/52K Complete Kit 
32K Complete Kit 
16K Complete Kit 


$30.00 
$20.00 
$10.00 
$70.00 
$45.00 
$30.00 


Add $2 Stripping & Handling 
Visa & MasterCard Accepted 




"ATARI is a trademark of Atari, Inc. 1 
Dealer Inquiries Welcome 1 


Tiny Tek, Inc. 

1 Route 1 , Box 795 
1 Quinlan, TX 75474 
1 214-447-3025 





ISSUE 29 



ANALOG COMPUTING 



PAGE 71 




Boot 



Gamp 




by Tom Hudson 



This issue, we conclude our coverage of the BASIC 
USR function, a handy statement that puts the speed 
and power of machine language to use in BASIC pro- 
grams. We've looked at single- and multiple-argument 
operation, modifying strings, examining and chang- 
ing system memory, and setting precision timers. 

This issue, we're going to look at a USR function 
that will generate random numbers within specified 
ranges. This can be done in several different ways, 
with varying degrees of speed. We'll also see that you 
shouldn't always accept the first solution you come 
up with, since there may be one which is more ef- 
ficient. 

Random ramblings. 

At one time or another, we've all used random num- 
bers. Whether in games or statistical analysis, random 
numbers have an important function in computing. 

Would you like it if your computer chess program 
made the same moves every game? 1 wouldn't — the 
games would get too predictable, and the chess disk 
would be quickly relegated to the "outdated program" 
pile. BASIC'S random number function, RND(n), pro- 
duces random numbers between zero and one, and 
usually works fine for most applications. 

Just for fun, assume that we're simply not happy 
with BASIC'S RND function, and want one that's 
more versatile. We want a function that will return 
a random integer value between two given numbers, 
or if only one parameter is given, between zero and 
that value. We could write the function as a BASIC 



subroutine, but top speed is essential. We need to 
write a USR subroutine. 

Hats off! 

The first method most people would come up with 
is what I call "pulling numbers out of a hat." Simply 
stated, you get a random number, and if it's in the 
range you want, you use it. If not, you reach into the 
hat and try another. This method works fine, but 
there's one big drawback: speed. 

1 REM 4Hf« RANDOM NUMBERS *** 

2 REM 

3 REM NUMBERS OUT OF A HAT CBASl 

4 REM SLOM MAY TO GET THE JOB DONE! 

5 REM 

10 ? "ENTER RANDOM tt RANGE CLO,HI)" 
20 TRAP 10: INPUT LO,HI 
30 RANDrPEEK 1537705 +PEEK t53770J»256 
40 IF RAND<LO OR RAND>HI THEN 30 
50 ? RAND: GOTO 30 

Figure 1. 

Figure 1 is the BASIC version of pulling numbers 
out of a hat. Type in the program and RUN it. You 
will be asked for a random number range. Type in: 

0,65535 

and press RETURN. You will see the program hap- 
pily print out random numbers ranging from to 
65535, at BASIC's top speed. All's well, right? Wrong! 
Press BREAK and RUN the program again. This 
time, when prompted for the random number range, 
type: 

350,355 



PAGE 72 



ANALOG COMPUTING 



ISSUE 29 



and press RETURN. If you see anything print out 
within three or four minutes, consider yourself lucky. 
What happened? Let's look at the program and find 
out. 

Lines 10-20 accept the random number range 
and store the low and high ranges in LO and 
HI, respectively. Any random values less than 
LO are rejected, as are any values greater than 
HI. 

Line 30 generates a random number between 
and 65535, using the Atari's random number 
generator, RANDOM. RANDOM is located at 
$D20A (53770 decimal) and gives a random val- 
ue of to 255 when PEEKed. This line reads 
RANDOM twice and builds a large random 
number (ranging from to 65535) by setting 
RAND to PEEK(53770) + PEEK(53770) * 256. 

Line 40 checks to see if the random number 
just generated falls between the values in LO and 
HI. If not, the program loops back to Line 30 
to try pulling another random number out of the 
hat. 

Line 50 prints any random numbers that are 
within the range specified by LO and HI. 

Now can you see why this program works so slowly? 
When a large range (such as 0-65535) is specified, 
there is a better chance of the random number fall- 
ing into that range. When a smaller range is given, 
the odds of picking a random number in that range 
can drop drastically, making the program take virtu- 
ally forever. 

"Aha," you say, "I'll just write this routine in assem- 
bly language and speed it up. Assembly language fixes 
everything!" Let's see what happens. 

;LOH LIMIT 



eiee loml = $cb 
eiio LOMH = sec 

ei20 HIGHL = SCE 
ei30 HIGHH = $CF 
ei40 RESLO = $D4 
0150 RESHI = $D5 

eiee random = $D2eA 



0170 
0180 
0190 
0200 
0210 
0220 
0230 
0240 
0250 
0260 
0270 
0280 
0290 
0300 



»= 50600 

CLD 

LDA tte 

5TA LOHL 

5TA LOHH 

PLA 

CMP ttl 

BEQ PULLHI 

PLA 

5TA LOHH 

PLA 

5TA LOHL 



0310 PULLHI PLA 



0320 
0330 
0340 



5TA HIGHH 

PLA 

STA HIGHL 



0350 GETRND LDA RANDOM ;GET RANDOM tt 



0360 
0370 
0380 
0390 
0400 
0410 
0420 
0430 
0440 
0450 



STA RESLO 
LDA RANDOM 
STA RESHI 
CMP HIGHH 
BCC CHEKLO 
BNE GETRND 
LDA RESLO 
CMP HIGHL 
BCC CHEKLO 
BNE GETRND 



HIGH LIMIT 

BASIC'S RESULT 

RANDOM tt 0-255 

ROUTINE START 

CLEAR DECIMAL 
SET DEFAULT 
LOH RANGE 
VALUE 
GET ttARGS 
ONE ARGUICNT? 
VES! GET HI 
PULL LOH HI 
AND SAME IT 
PULL LOH LO 
AND SAVE IT 
PULL HIGH HI 
AND SAVE IT 
PULL HIGH LO 
AND SAVE IT 



SET LO BYTE 

GET RANDOM tt 

SET HI BYTE 

TOO BIG? 

NO, TOO SMALL? 

TOO BIG! 

IS LOH BYTE 

TOO BIG? 

NO, TOO SMALL? 

TOO BIG! 



0460 CHEKLO LDA RESHI ;IS RAND tt. . . 

0470 CMP LOHH ;T00 SMALL? 

0480 BCC GETRND ;VES! 

0490 BNE RANDOK ;IT'S OK! 

0500 LDA RESLO ;IS LOH BYTE... 

0510 CMP LOHL jTOO SMALL? 

0520 BCC GETRND ;VE5! 

0530 RANDOK RTS ;IT'S OK, EHIT ! 

Figure 2. 

Figure 2 shows the assembly code equivalent of Fig- 
ure 1, which can be called as a USR subroutine. It 
can be called by the following two USR statements: 

RAND=USRC153e,HI) 
RAND=USR C153e, LO, HI) 

The first USR statement will generate a random 
number between and the value of argh The second 
USR format will generate a random number between 
the value in argl and the value in arg2. Obviously, 
the USR subroutine must be able to determine how 
many arguments are supplied, and act accordingly. 
Let's see how this subroutine works. 

Line 200 clears the decimal mode, placing us 
in binary math mode. 

Lines 210-230 will set the 2 -byte work area 
LOWL-LOWH to 0. This ensures that, if there 
is only one argument, the low range will default 
to 0. 

Line 240 pulls the number of arguments off 
the stack. 

Line 250 compares the number of arguments 
to 1. If there is only one argument, we will want 
to go get the high range value. 

Line 260 branches to PULLHI if the number 
of arguments if equal (BEQ) to 1. This will cause 
the computer to pull just one argument from the 
stack. 

Lines 270-300 pull and store the low limit 
for the random number. If there are two argu- 
ments, this is the first. 

Lines 310-340 pull and store the high limit 
for the random number. Of course, if there's only 
one argument, specifying a range from to argl, 
this is the one that will be pulled, and the low 
limit (set in Lines 220-240) will be 0. 

Lines 350-380, labeled GETRND, generate 
a random number between and 65535, placing 
it in the locations RESLO and RESHI. As you 
should know by now, RESLO and RESHI ($D4 
and $D5) are the locations used to send values 
to BASIC from the USR subroutine. The ran- 
dom number is built by simply loading the ac- 
cumulator twice, placing each random byte into 
the RESLO and RESHI locations. 

At this point, I would like to discuss an important 
function in assembly language: comparisons. We've 
already seen how single-byte values can be compared 
easily, using the CMP instruction. Since we're using 

(continued on page 78) 



ISSUE 29 



ANALOG COMPUTING 



PAGE 73 




\ 



Line 



16K Disk, 2.0 DOS 



by Angelo Giambra 



The designers of Atari BASIC faced a difficult chal- 
lenge: cram a reasonably powerful BASIC interpreter 
into an 8K ROM cartridge. Despite the constraints 
imposed, they produced a really fine product. 

But to get all that power into a ROM cartridge, 
many desirable features had to be forgone — features 
like line resequencing, mass line deletes and automatic 
line numbering. While all of these features are time- 
saving, I find that automatic line numbering is the 
one I most frequently miss. So I did something about 
it. 

The B-Line program creates an AUTORUN.SYS 
file on your disk which, when booted with your BA- 
SIC cartridge, will make keying in BASIC programs 
a snap. 

Loading B-Line. 

Key in the program in Listing 1 carefully. When 
you're finished, SAVE it to disk, then RUN it. B-Line 
will check the DATA statements for accuracy and in- 
form you of any errors. If there are none, it will pro- 
ceed to create the AUTORUN.SYS file. 

N w, power off your computer and turn it back on 
again. This will allow the AUTORUN.SYS file to load 
and execute. Finally, the READY prompt will appear, 
and you will be back to old, familiar BASIC. Well, 
not quite. 



Using it. 

BASIC will now accept a new command. The syn- 
tax of the new command is: 

AUTO <base>, <increHent> 

The base and increment values are optional. Here are 
some examples. 

If you key in the following: 

AUTO 

BASIC will begin numbering lines at 10 and in- 
crement each succeeding line with the default 
value of 10. 
Or you may key in this: 

AUTO 928 

This will cause BASIC to begin numbering lines 
at 920 and increment each succeeding line by 
the default, 10. 

Finally, you may key in something like this: 

AUTO 358,28 

Now BASIC will begin numbering lines at 350 

and increment each succeeding line by 20. 

To turn off auto-sequencing mode, simply press the 
BREAK key. 

B-Line will not go away if you press SYSTEM RE- 
SET, so you needn't worry about losing it. If you do 



PAGE 74 



ANALOG COMPUTING 



ISSUE 29 



want to deactivate it, however, key in DOS. The sys- 
tem will perform a warmstart, and you'll be returned 
to BASIC. The next time you key in DOS, you'll be 
transferred to the DOS menu normally. 

How it works. 

B-Line works by installing a new handler for the 
editor into memory and a vertical blank interrupt 
(VBI) routine to handle the line sequencing. The han- 
dler first passes control to the OS editor getbyte rou- 
tine. It then examines the input buffer to see if AUTO 
has been entered. 

If not, control passes back to BASIC normally. But 
if Af7TO has been entered, the routine scans the re- 
mainder of the buffer looking for the base and incre- 
ment values. If it finds them, it processes them; other- 
wise, it substitutes the default values for the base and 
increment. It then signals the VBI routine to begin 
line sequencing. 

This routine waits for you to press the RETURN 
key, then figures out the next line number and prints 
it on the screen. 

Some bothersome timing problems had to be over- 
come. Whenever you key a line into BASIC, a lot 
of things happen. BASIC must parse the line and, 
if necessary, move portions of the code around in 
memory to make room for the new line. The VBI rou- 
tine had to somehow know when BASIC was finished 
with all this, since, if it printed up the next line num- 
ber to the screen too soon, BASIC got all fouled up. 

I discovered that, whenever BASIC is finished ex- 
amining a line of input, it stores a hex C2 in a vari- 
able called PROMPT. The handler takes advantage 
of this by zeroing out PROMPT whenever it sees the 
RETURN key pressed. The VBI routine then waits 
for PROMPT to equal C2 again, before printing the 
next line. 

The B-ottom Line. 
B-Line will prove to be a real timesaver for you. 
I think you're going to wonder how you ever got along 
without it . . .especially when you're keying in all those 
great magazine games! D 

Listing 1. 

le REM KMKMKKKMMMKKICM 
20 REM » B-LIHE » 
38 REM » by » 

40 REM « A. GiaHbra « 
58 REM KKKKKICKKICKKKKIC 

68 DATA 8,1,2,3,4,5,6,7,8,9,8,8,8,0,8, 
8,0,10,11,12,13,14,15 

70 DIM DATS C96}, HEH t22} : FOR K=0 TO 22: 
READ N:HEK(}t)=N:NE}<T K:LINE=1?8:REST0R 
E 268: TRAP 158:? "ISCHECKING DATA" 
88 T0TAL=G:LIIIE=LIME+10: POSITION 2.2:? 
"LIME:";LIHE:READ DATS:IF LENCDAtIjO 
96 THEN 180 

98 DATLIN=PEEKfl83J+PEEKC184>#256:IF D 
ATLINOLINE THEN ? "LINE ";LIME;" MI55 
IN6!":END 

108 FOR K=l TO LEHtDATSJ-1 STEP 2 : D1=A 
5C tDATS CX) J -48 : D2=A5C CDAT$ (X+IJ ) -48 : BY 
TE=HEK tDl)«16+HEK CD2} 

lie IF PASS32 THEN PUT ttl, BYTE : NEXT X: 
READ CHKSUM:GOTO 88 



128 T0TAL=T0TAL+HEXt»l)+HEXCD2J:NEKT X 

138 READ CHK5UM:IF T0TAL=CHK5UM THEN 8 



140 GOTO 188 

158 IF PEEKtl95><>6 AND PEEKC195J05 T 

HEN 188 

168 IF PAS5=8 THEN OPEN ttl,8, 0,"D : AUTO 

RUN . SV5" : PA55=2 : LINE=190 : RESTORE 208 : T 

RAP 178:? "^CREATING FILE": GOTO 88 

170 CLOSE «l:END 

188 IF LENtDATSj=80 AND LINE=320 THEN 

TRAP 160: GOTO 90 

190 ? "BAD DATA: LINE ";LINE:END 

200 DATA FFFFFC1CAB1DAD8A1D858CAD8B1D8 

50D4C74E428880eA9FC850AA91C85eBA208BDl 

Ae3F875C945F82EC953F805E8E8E8,706 

210 DATA D8EEBD1B8385CBBD1C838SCCA006B 

1CB1869018D2A1F8D1A1FC8B1CB69888D2B1F8 

D1B1F4C231DBD1B8385CBBD1C83S5,698 

228 DATA CCA9AC9D1B03A91D9D1C03A000B1C 

B99AClDC8C00DD8F6ADB01D1869ei8DBAlDADB 

11D69008DBB1DA9B938E9018DB81D,721 

230 DATA A91DE9008DBllD4C231DA907AeC8A 

21E2e5CE4A9448DE702A91F8DE882A9888D421 

F8D411F68B91DB41E28888808C888 , 613 

248 DATA F889C99BF8eEE6CF4CDllDA9808D4 

llFA99B2868AD411FF018A9eA8SD0A901SD421 

FA98885C24Ce91E98488A48A4CFA9,684 

250 DATA 9B998e05A000B9S885D9351FD888C 

8C884D8F328111E68AA68A8A98885CFA99B28e 

eB98885C99BF875C8A288B980e5C9 , 614 

260 DATA 2CF00BC99BF0079D391FC8E818EE9 

D391FA98885F228BFlE98482e88D828D2D9A5D 

485CBA5D585CC68ASB988e5C99BF0,7ie 

270 DATA 32C8A208B98885C938988BC93AB88 

79D391FC8E818EEA9289D391FA9e085F220BFl 

E200eD820D2D9A5D485CDA5D585CE , 654 

280 DATA 4C991EA90A85CDA90885CE4C991EA 

98A85CBS5CDA988SSCC85CE2851DA38A5CBE5C 

D85CBA5CCE5CE85CCA90A85DeA980,?76 

298 DATA 85C2A9018D41B51E381F1F8D421FA 

99B8D808568A93985F3A91F85F468AD421FFe5 

2A5C2F84EA5D0F005C6D04C1F1FA9,679 

300 DATA 008D421FA5CB1865CD85CBA5CCe5C 

ES5CCA5CB85D4A5CC85D528AAD928E6D8A880B 

lF31805297F4C8BlF99391FC818Fl,7e5 

318 DATA 99391F8C431FEE431F20221FA9282 

888882e51DA4C62E4A8889848B9391F2080086 

8A8CSCC431FD8F8e84155544F411F,544 

328 DATA e81F888888A9FC858AA91C858BA58 

C8D8A1DA58D8D8B1DA909850CA91D858D4C141 

DE882E182441F,497 



CHECKSUM DATA. 

(see page 32) 

18 DATA 272,478,323,72,280,965,282,364 

, 735, 912 , 694 , 97 , 438 , 719 , 585 , 7128 

168 DATA 177,134,773,174,148,150,101,8 

37,886,732,25,916,286,45,84,5468 

318 DATA 486,865,1271 



Assembly listing. 



1 tt«««**««*»»lf4H»*»»«» 




* 


1 » B-LINE * 


1 » 


« 


1 » by 


♦ 


1 » 


* 


1 * A. GIAnSRA * 


I » 


# 


1 


1 


7420 


1 OS EQUATES 




HATABS 


• asiA 


LBUFF 


«05B0 


FftSC 


SDBEi 


IFP 


»D9AA 


AFP 


•Dsee 



ISSUE 29 



ANALOG COMPUTING 



PAGE 75 



FPI 

INTLBF 

VBXIT 

SETVB 

UARnSTART 

MEMLD 

FRO 

INBUFF 

CIX 

DOSVEC 

DOSINI 

I 

I WORK VARIABLES 

I 

COMMA 

SPACE 

PROMPT 

NUM 

INCR 

CHARCOUNT 

INDEX 

TIMER 

I 

DOS 



»D'?D2 

*DAS1 

*E4<i2 

»E4SC 

«E474 

«02E7 

»D4 

»F3 

• F2 

*0A 

«0C 



»9B 
»2C 
«20 
«C2 
(CB 
«CD 
»CF 
«CB 
*D0 



LDA *CR I STORE A RETURN 
STA LBUFF.Y UN BASIC BUFFER 
LDY *0 

(COMPARE BUFFER 
(TO 'AUTO' 



LDA LBUFF.Y 

CMP TABLE, Y 

BNE EXIT 

INY 

CPV «4 

BNE COMPARE 

JSR AUTONUM (DO AUTONUM 



(ARE UE D0NE7 



(CARRIABE RETURN 



(BASIC PROMPT CHAR 

(BASE NUMBER 

( INCREMENT 

[COUNTER 

(UDRK INDEX 

(VB TIMER 



LOOKUP 
SEARCH 



FOUNDSCR 



LDA 

STA 
LDA 
STA 
JMP 
JSR 
LDA 
STA 
LDA 
STA 
LDX 
LDA 
BEQ 
CMP 
BEQ 
CMP 
BEQ 
INX 
INX 
INX 
BNE 
LDA 
STA 
LDA 
STA 
LDY 
LDA 
CLC 
ADC 
STA 
STA 
INY 
LDA 
ADC 
STA 
STA 
JMP 

LDA 
STA 
LDA 
STA 
LDA 
STA 
LDA 
STA 
LDY 
LDA 
STA 
INY 
CPY 
BNE 
LDA 
CLC 
ADC 
STA 
LDA 
ADC 
STA 
LDA 
SEC 
SBC 
STA 
LDA 
SBC 
STA 
JMP 



RESET -H 

DOSINI (RESTORE DOSINI 

RESET+2 

DOSINI+1 

WARMSTART ;DQ WARMSTART 

«FFFF [CHANGED TO JSR TO DOSINI 

«t <DQS 

DOSVEC [POINT DOSVEC 

* >DOS (TO OUR ROUTINE 
DOBVEC+l 

HATABS.X [EXAMINE HANDLER 

FINI (ENTRY 

»'E [IS IT THE EDITOR 

FOUNDED 

It's (IS IT THE SCREEN 

FOUNDSCR 

[SO TO NEXT 

(ENTRY 

SEARCH 

HATABS+1,X [STORE SCREEN 

INDEX (HANDLER ADDRESS 

HATABS+2, X 

INDEX+1 

»6 [OFFSET TO 

(INDEX), Y IPUTBYTE VECTOR 

*t (ADD 1 

PUTCHAR+1 [MODIFY OUR JSR 

MAKESPACE+1 

(INDEX) ,Y 

• e 

PUTCHAR+2 

MAKESPACE+2 

CONT 

HATABS+l.X [LOAD VECTOR 

INDEX SPUT IN INDEX 

HATAB8+2, X 

INDEX+1 

It <HANDLER (POINT HANDLER 

HATABS+l.X [TO OUR TABLE 

» >HANDLER 

HATABS+2, X 

»e 

( INDEX), Y [GET OS TABLE 
HANDLER, Y (MOVE TO OUR 

(LOCAL TABLE 
»13 (ARE WE DONE? 
MOVE 
HANDLER+4 [GET SETBYTE 

(VECTOR 
*1 (ADD 1 
GETB+l (MODIFY OUR 
HANDLER+S (JSR 
*0 

GETB+2 
» <GETB [POINT TABLE TO 

(OUR DUN ROUTINE 
«1 

HANDLER+4 
tt >GETB 

«te 

HANDLER+5 
CONT 



LDA «7 

LDY It <INTERRUPT (FIRE UP VB 

LDX « >INTERRUPT (ROUTINE 

JSR SETVB 

LDA It <ENDP 

STA MEMLO (POINT MEMLO 

LDA It >ENDP (TO END OF OUR 

STA MEMLO+1 (PROGRAM 

LDA »e 

STA ENDLINE (CLEAR WORK 

STA SWITCH (REGISTERS 
RTS 



HANDLER 

( 

8ETB 



*- *+13 



(HANDLER TABLE 



JSR «FFFF (JSR TO OS 

PHP (SETBYTE ROUTINE 

CPY lt»8a (BREAK PRESSED? 

BEQ BRK [YES 

CMP ItCR (CARRIAGE RETURN? 

BEQ PROCESS I YES, PROCESS IT 

INC CHARCOUNT (COUNT CHARACTER 

JMP N08RK 



LDA It0 

STA SWITCH 

LDA HCR 
PLP 
RTS 

LDA SWITCH 

BEQ AROUND 

LDA Itl0 

STA TIMER 

LDA 111 

STA ENDLINE 

LDA It0 

STA PROMPT 

JMP XIT 



TYA 
PHR 
TXA 

PHA 

LDY CHARCOUNT 



(SHUT OFF AUTONUM 



(RESTORE STATUS 



(AUTONUM ACTIVE? 
[NO, PARSE LINE 
(SET VB TIMER 

(SET ENDLINE FLAG 

[CLEAR BASIC'S 
[PROMPT REGISTER 



EXIT 


PLA 
TAX 
PLA 
TAY 




(RESTORE X AND Y 


XIT 


LDA 


»0 


(CLEAR CHARCOUNT 




STA 


CHARCOUNT 




LDA 


HCR 


[RESTORE ACCUM 




PLP 




(RESTORE STATUS 




RTS 






AUTONUM 


LDA 


LBUFF,Y 


(LOAD NEXT CHAR 




CMP 


HCR 


(CARRIAGE RETURN? 




BEQ 


DEFAULT 


(YES, NO PARAMS 




INY 








LDX 


•10 




QETNUM 


LDA 


LBUFF.Y 


[GET BASE NUMBER 




CMP 


»COMHA 


(DONE? 




BEQ 


GETNEXT 


(YES 




CMP 


• CR 


[DONE? 




BEQ 


GETNEXT 


(YES 




STA 


BUFF,X 


(SAVE CHARACTER 




INY 




(IN BUFF 




INX 








BPL 


GETNUM 




GETNEXT 


STA 


BUFF,X 


[SAVE CHAR 




LDA 


«0 


[RESET CIX 




STA 


CIX 




£ 


JSR 




TYA 




PHA 




(SAVE Y 




JSR 


AFP 


(ASCII TO FP 




JSR 


FPI 


(FP TO INTEGER 




LDA 


FRO 


(GET BASE 




STA 


NUM 


(STORE IN NUM 




LDA 


FRO+1 






STA 


NUM+l 






PLA 








TAY 




(RESTORE Y 




LDA 


LBUFF.Y 


(GET NEXT CHAR 




CMP 


«CR 


(RETURN? 




BEQ 


SETINCR 


(YES, NO INCR 




INY 








LDX 


It0 




NEXTNUM 


LDA 


LBUFF.Y 


[LOAD NEXT CHAR 




CMP 


It'B 


IIS IT BETWEEN 




BCC 


CONVERT 


10 AND 9? 




CMP 


»■ : 






BCB 


CONVERT 






STA 


BUFF.X 


(YES, SAVE IT 




INY 








INX 








BPL 


NEXTNUn 




CONVERT 


LDA 


ItSPACE 






BTA 


BUFF.X 


[STORE A SPACE 




LDA 


• 






BTA 


CIX 


(RESET CIX 




JSR 


POINT 


(INIT INBUFF 




JSR 


AFP 


(ASCII TO FP 




JSR 


FPI 


(FP TO INTEGER 




LDA 


FRO 






STA 


INCR 


(STORE INCR 




LDA 


FRO + 1 






STA 


INCR+l 






JMP 


START 




SETINCR 


LDA 


Itt0 


(SET INCR AT 




STA 


INCR 


(THE DEFAULT (10) 




LDA 


H0 






STA 


INCR+l 






JMP 


START 




DEFAULT 


LDA 


ttl0 


(SET BASE AT 




STA 


NUM 


[THE DEFAULT (10) 




STA 


INCR 






LDA 


110 






BTA 


NUM+l 






STA 


INCR+l 




START 


JSR 

SEC 


INTLBF 






LDA 


NUM 


(LOAD BASE 




BBC 


INCR 


(SUBTRACT INCR 




STA 


NUM 






LDA 


NUM+l 






SBC 


INCR+l 






STA 


NUM+l 






LDA 


»10 


(SET VB TIMER 




STA 


TIMER 






LDA 


H0 


(RESET BASIC'S 




STA 


PROMPT 


[PROMPT REGISTER 




LDA 


HI 






BTA 


SWITCH 


(AUTONUM ACTIVE 




BTA 


ENDLINE 


(SET ENDLINE 




LDA 


ItCR 


(RETURN A CR TO 




BTA 


LBUFF 


(BASIC 



RTS 

INT LDA It <BUFF [POINT INBUFF 

STA INBUFF ITD OUR BUFFER 

LDA II >BUFF 

BTA INBUFF+1 
RTS 

VB INTERRUPT ROUTINE 



( 
( 

INTERRUPT LDA ENDLINE [LINE ENTERED? 

BEQ EXITVB I NOT YET 

LDA PROMPT 

BEQ EXITVB 

LDA TIMER 

BEQ OK 

DEC TIMER 

JMP EXITVB 



(DID BASIC FINISH 
(WITH IT YET? 
[WAIT TEN JIFFIES 



(SAVE X AND Y 



&K 


LDA 


lie 


(RESET ENDLINE 




BTA 


ENDLINE 






LDA 


NUM 


[GET BASE 




CLC 








ADC 


INCR 


(ADD INCREMENT 




BTA 


NUM 


(SAVE IT 




LDA 


NUM+l 






ADC 


INCR+l 






STA 


NUM+l 






LDA 


NUM 


(GET BASE 




STA 


FRO 


(PUT IN FP REGISTER 




LDA 


NUM+l 






BTA 


FRO+1 






JSR 


IFP 


[ INTEGER TO FP 




JSR 


FASC 


(FP TO ASCII 




LDY 


*0 





DRAPER PASCAL 

For the Atari 400/800 or XL series computers 

• Many features from botfi UCSD and ISO standard Pascals 
plus many extensions sucfi as sound and graphics, to make 
use of tfie versatile Atari tiardware, 

• Character. String, Integer, Real, Boolean, and File data types 
supported. 

• Single dimension arrays for all data types other than File. 

• Only one disk drive (and 48K RAM) are required. Multiple, and 
double density disk drives are supported, 

• Includes Editor program (Pascal source included) to create, 
modify, and print Pascal source files, or other text type files. 

• Includes Main Menu program (Pascal source included) for 
easy selection of Compiler, Editor, or utility functions, such as 
directory or file listing. Main Menu program may be replaced 
with a user written program to create a turnkey operation. 

• Easy to use. No linking required. Compile and execute im- 
mediately. 

• Comprehensive user manual included. Complete examples 
and BASIC equivalents given for each reserved word. 

• Machine language subroutines may be loaded and called. 

• No limit on source program size. "Include" files supported. 

• Execution debugging features include instruction trace and 
stack display. 

• One pass compiler generates pcode directly. 

• Program chaining is supported. 

• Royalty free license included. 

• Bugs fixed free, if encountered. 

• Backup diskette now included. 

• Includes sample programs. 

• Satisfaction guaranteed. Return within 30 days if not satisfied. 

• Price: $64 95 (NEW LOW PRICE) 

To Order Visa/Mastercard, check, money order, ar)d COD accepted If charge, please 
Include expiration date of card. Add $200 for shipping and handling. Add $1 65 for COD 
orders Mail and phone orders accepted Phone answered 24 hours Monday through 
Saturday Same or next business day shipping on most orders Immediate shipping on 
check orders No watt for check clearance required 

Dealer Inquirtes Invited 
DRAPER SOFTWARE 307 Forest Grove Richardson. Texas 75080 (214)699-9743 
Alan IS a trademark of Alan Inc 



MRITEIT 


LDA 


(INBUFF) 


.Y IQET A BYTE 




BPL 


WRITENUM' 




AND 


»»7F 


ITURN OFF HIGH BIT 




JMP 


DONE 




URITENUn 


8TA 
INY 


BUFF,Y 


ISAVE IT 




BPL 


WRITEIT 




DONE 


BTA 


8UFF.Y 


I SAVE IT 




STY 


LENGTH 


iSAVE LENGTH 




INC 


LENGTH 


1 INCREMENT LENGTH 




JSR 


WRTF 


IPUT NUM ON SCREEN 




LDA 


»SPACE 




HAKESPACE J6R •FFFF 


IPRINT A SPACE 




JSR 


INTLBF 


UNIT INBUFF 


EXITVB 


JMP 


VBXIT 




WRTF 


LDY 


«0 




LP 


TVA 








PHA 




ISAVE Y 




LDA 


BUFF.Y 




PUTCHftR 


JSR 


• FFFF 


IWILL POINT TO SCREEN 




PLA 




IPUTBYTE ROUTINE 




TAY 








INY 








CPY 


LENGTH 


1DDNE7 




BNE 


LP 






RTS 






TABLE 


.BYTE "AUTD" 




BUFF 


»- 


»<-B 




SWITCH 


.BYTE 




ENDLINE 


.BYTE 




LENBTH 


.BYTE 




ENDP 








BEGIN 


LDA 


It <DOS 


IPOINT DOSVEC 




BTA 


DOSVEC 


ITD OUR ROUTINE 




LDA 


* >DGS 






STA 


DOSVEC+ 






LDA 


DOSINI 


IBET DOS INIT VECTOR 




STA 


REBET-H 


•MODIFY JSR 




LDA 


DOSINI-^ 






BTA 


RESET+2 






LDA 


» <REBET IPOINT DOSINI 




STA 


DOSINI 


ITO OUR RESET LOGIC 




LDA 


» >RESET 




STA 


DaSINI+ 






JMP 


LOOKUP 






*■ 


• 02E0 






.WORD BEGIN 





CIRCLE #130 ON READER SERVICE CARD 



National ORDER TOLL FRFF Minnesota 

1-800-328-1226 . , , V ' '^■"■- ' "■-■- 1-800-626-2345 

(orders only) Hrs. M-F 1 0:00 - 6:00 (CST) (orders onTy) 



SPECIALS 




Entertainer Kit 

Pac Man, Star Raiders & pr Atari Joysticks 


3000 


E 


Indus GT Disk Drive 


?flp P."^ 


ZZ 




~ 



MISCELLANEOUS 



5'/-." SS/DD Disk W/Sleeves (25 Pack) 32.50 

Kraft Single Button Joystick 7.95 

Kraft Switch Hitter Joystick 8.95 

Amaray Disk Bank 

(Holds 50 Disks) 12.95 

MPP 1000c Moidem 119.95 



PRINTERS ■ 


BMC BX80 


229 95 


— 


Epson RX80 


239 95 


— 


Epson RX80FT 


279 95 


— 


Epson RX100 


429 95 


~ 


Epson FX80 


399 95 


— 


Epson FX100 


649 95 


z: 


Epson MX/RX/FX80 Ribbons 


595 


— 


BMC BX80 Ribbon 


7 95 


— 


MPP 1 150 Interlace 


75 00 


— 


Cardco AT Printer Interface 


59 95 


— 


Atari 850 Interface 


1.19 9."^ 


— 




— 



ORDERING INFORMATION... 

To order, call toll free or send by mail. For fastest ser- 
vice use your Visa or Ivlaster Card (include card # and 
exp. dale), or send a money order or cashier's ctieck. 
Aliov* 2 weeks for personal checks to clear. Add 3% 
(minimum 3.00) for shipping, (vlinnesota residents 
add 6% sales tax. We also ship COD. Return Policy: 
Call Customer Sen/ice # For RA#. Credit or defective 
exchange only. 

Customer Service 61 2-784-681 6 



MONITORS ■ 


BMC BM12EUY 12" Higfi Res Amber 


79 95 


= 


BMC9191U+13" Color 


229 95 


— 


BMC JJ1202G 12" Green 

BMC Monitor stand 


99.95 

24 95 


— 


Interex Monitor Cable (5 pin din to 4 RCA) 


6.95 


= 



-LOOK! 

All software for your Atari is available at 25% off suggested retail prices. 



GTA^^SALES 



8465 Plaza Blvd. 

Spring Lake Park, MN 55432 



CIRCLE #131 ON READER SERVICE CARD 




COMPUTER 
PALACE 



Now 

use both -....-^^ — 

sides of your diskettes 

Simply place the disk against the buit 
in stops and squeeze. 



DISK NOTCHER 
SPECIAL 



ONLY 
$9.95 




Your ATARI Headquarters! 



Much More Than A Mailing List! 



A 



New Version 1.5 



• Lightning Fast Retreival 

• Fast Sorts On Any Field 

• Supports Up To 4 Drives 

• Single Or Double Density 

• Much More... 

One of the most versatile 
data-base programs avaiiable. 

• Maintain your book library... 

• Organize your record collection... 

• Index your recipes... 

• Categorize your stannp collection... 

• Unlimited applications! 



New! Mail merge utility for| Atari writer, Letter Perfect $14.95 



umI^it 



The saga contin 
ues! This is the 
latest from the 
ultimate epic- 
fantasy role- 
playing adven- 
ture. Do you 
dare . . . ? 




Peachbee Software" 



^ 



Now one of the most popular 
accounting systems is avail- 
able for ATARI . Sac/t to fia- 
sics Accounting System is a 
double entry, accrual ac- 
counting system consisting of three interac- 
tive packages for the small business: General 
Ledger, Accounts Receivable and Accounts 
Payable. An extremely powerful system, it in- 
cludes automatic posting capability, system 
generated mailing labels and password secu- 
rity. For the non-accountant. It includes one of 
the most comprehensive manuals we have 
seen. For the expert, it will finally put your 
Atari into business. Reguires 2 drives. 

48K Disk-System package: General Ledger. 
Accounts Payable & Accounts 

Receivable $195.00. 

Each package separately $95.00. 



^ Outsmart your Friends Outwit the Dragon ^ 

Join the Quest 



TEKNIKA 13 " Color 
Monitor $299.00 

This appears to be one of 
tfie best color monitors 
we tiave found for ttie 
Atari at any pnce Since 
it has separate connec- 
tions for ctiroma and lu- 
minance, it is able to take 
advantage of Atari's advanced capabilities. We tiave to 
admit that the color rivals many RGB monitors we 
tiave seen The monitor comes complete with cable. 




CATALOG "^^^ 

wSh any order or send $1 //Si^~-*^'7 
(retundiWe witti first purctiasel //£i;^~~ 

This Is the most 

comprehensive 

Atari reference 

catalog available! 

II contains over 

3000 software S hardware 

listings witli illustrations 

and descriptions! 

IF YOU DON'T HAVE OUR 
CATALOG... YOU'RE 
MISSING OUT! 





TRMfiL 




^^'AyaUable Now! 

aunmart your Frlemts ■ outwit ttie ongon • join ttte 9uc« 



la Ouesr is a laraiiy ni 



PROGRAM COVERS FOUR DISK SIDES! 



.^oi/al Oo/^OMi'i^ 



(Program Covers Four Disk Sides) 

A new concept In computer gaming. Intellectual 'WK ^OB.33 

challenge, strategy and arcade action. Each player assumes the role of a 
lord with a guesting party of three characters. Complete the quest, earn the 
most gold by correctly answering questions and battling the dragon. Win 
the favor of the king and thus, the game. 
• Utility Disli — 1000 additional questions plus create your own . . . $24.95 



SUPER SPECIALS 



invitation to 
Programming #3 
Speed Reading 
Conversational French 
Conversational German 
Pacific Coast Highway 
Caverns of Callisto 

Match Racer 

JawBreaker 

Pathfinder 



Reg / Sale 
S29 95 / 14 95T 
S31 50 / 14.95T 
J31.50 / 19.96T 
$31 50 / 19.95T 
$29 95 / 9.95D 
$39.95 / 19 95D 
$29.95 / g.95D 
$29.95 / 
$29.95 / 



Bandits $29.95 / 



995D 
9950 
9 95D 
995D 
4.95D 
7 950 



Lords of Karma $29.95 / 

Meteor Storm $29.95 / 

Krazy Shoot-out $49 95 / 

Miner 2049 $49.95 / 17 95C 

Wizard of Wor $39.95 / 17.950 

Deluxe Space Invaders $39 95/17 950 

Pool 400 $34 95 / 14 95C 

Chopliher $44.95 / 17.95C 

Atari Basic $59 95 / 29.90C 

T: Tape D: Disk C: Cartridge 



ATAR1 130/520 ST Personal Computers 




128K-$399/512K-$599 



The current flagship of the Atari Family has arrived, 
utilizing the speed of the Motorola 68000 CPU With 
128Kor 512K. you will have power at prices you won t 
believe And with a mouse, pull-down menus, win- 
dows, icon graphics and cut and paste features Itiat al- 
low you to integrate spreadsheet, text and graphic 
files, creative solutions have never been easier The 
quantities are limited, so place your order now to get 
yours as soon as possible. 




ATARI REPAIR PARTS 

Joystick PC board . . . . 

Joystick cord 

Joystick inner handle . 

13-Pin I/O Plug 

6 ft. I/O Cord 

Printer Cable 

Monitor Cable 



. $ 2.49 
2.95 
1.49 
. 9.95 
. 19.95 
. 29.95 
. 14.95 



The 

Ultimate 

Si;reen 

Duinp 

Program 

This powerful and easy-to-use utility will 
allow you to dump almost any Atari text 
or graphics screen to your printer (even 
while the program is running!) 

4BK Disl( 

For All Computers 



$26.95 




From Big Five 

• 10 Difl»f«nt Scf»«ns 

• I6K CanrKlg* 

• Sftvciacular Sound 
i Graptiic* 

OUR PRICE 
ONLY 

$1 7. 95 1* Limited quantities. 



10 SB SD 
DISKEHES 

Our 
high quality 

Single 
density! 

ONLY $13.95 

Try a box of 150 and save 
even more! $150.00 




DRIVES— DRIVES— DRIVES 

Atari Rana Trak 

Indus Percom Amdek 

CALL FOR SPECIAL 
PRICING! 



'COMPUTER /6-^ 
MIACE 



Scftfi 



^^-- 



OPEN M-F. 9-6 Sat. 10-4 (Pacific Time) 

2160 W. 1ltti Avenue Eugene, Oregon 97402V 



USE YOUR CREDIT CARD & CALL 

Toll Free 1-800-452-8013 

• ORDERS ONLY, PLEASE • 

There's never a penalty for using your credit card ! 
For Information, Call (503) 683-5361 



SHIPPING INFO: Minimum $2.90 Ground. $4.75 Ajr. Actual 
Cost depends on weight. Call (503) 683-5361 for information. 
WARRANTY INFO: Eveiything that we sell is warrantied by 
ttie manufacturer. If an/ item purcfiased from us fails to per- 
form properly wfien you receive it, call us at (503) 683-5361 
so ttiat we can assist you. No returned mercfiandise accepted 
without authorization. Defective software will be replaced 
witti anottier copy of the same program, ottierwise, no soft- 
ware is returnable. 



CIRCLE #132 ON READER SERVICE CARD 



PAGE 78 



ANALOG COMPUTING 



ISSUE 29 



Boot Camp 

(continued from page 72) 

2 -byte values here, we must learn how to perform 
multiple-byte comparisons. 

A 2 -byte comparison is not very different from a 
single-byte comparison. The obvious difference is that 
there are now 2 bytes to be compared instead of 1. 
What may not be obvious is that we must compare 
the high-order bytes first, then the low-order bytes. 
Figure 3 is a flowchart of possible comparison out- 
comes. 




V1 < V2 



VI > V2 



V1 < V2 



V1 > V2 



VI = V2 



Figure 3. 

In Figure 3, we are comparing the values VI and 
V2. VI and V2 are both 2 -byte values, and their 
high-order and low-order portions are designated H 
and L, respectively. 

As you can see, there are three possible outcomes 
in any comparison: greater than, less than, and equal 
to. The flowchart is fairly straightforward, showing 
the step-by-step procedure for comparing any two 
2-byte values. Note that, since the high-order bytes 
are the most significant bytes, they are compared first. 
After all, if the high byte of VI is greater than that 
of V2, VI is greater than V2, no matter what the low 
bytes of the values contain. 

Note, however, that if the high-order bytes of VI 
and V2 are equal, we must compare the low bytes to 
complete the comparison properly. Figure 4 shows the 
assembly code equivalent of Figure 3 . 



18 


LDA 


VIH 


20 


CNP 


V2H 


30 


BCC 


U1LTV2 


40 


BNE 


V1GTV2 


50 


LDA 


UlL 


60 


CMP 


V2L 


70 


BCC 


V1LTW2 


80 


BNE 


V1GTV2 


90 


BEQ 


U1EQV2 



Figure 4. 

The first operation in Figure 4 is the actual CMP 
operation on the high-order bytes of VI and V2 , in 
Lines 10-20. At this point, the CARRY and ZERO 
flags are set according to the comparison results. If 
VI is greater than V2, the carry flag is set to 1. If 
VI is less than V2, the carry flag is cleared. If VI 
and V2 are equal, the zero flag and the carry flag are 
set. 

Next, the computer branches to V1LTV2 (VI Less 
Than V2) if the carry flag is cleared (BCC V1LTV2). 
The next operation is somewhat tricky. Since an 
equal condition sets the carry flag as well as the zero 
flag, we BNE (Branch Not Equal) to V1GTV2 (VI 
Greater Than V2). This insures that we will only 
branch to V1GTV2 when VI is greater than V2. The 
program will fall through to the next instruction if 
VIH is equal to V2H. 

At this point, we know that the high bytes of VI 
and V2 are equal, and we have to compare the low- 
order bytes. This happens if V1 = $4F00 and V2 = 
$4F9B, V1 = $007F and V2=$0020, etc. 

Lines 50-60 compare the low bytes of VI and 
V2, just as the high bytes were compared. Now 
we're ready to finish the 2-byte comparison. 

Line 70 branches if the carry flag is clear 
(BCC) to V1LTV2. Remember that if the carry 
is clear after a compare, the accumulator value 
(VIL, in this case) is less than the byte it was 
compared to (V2L). 

Line 80 branches if the compare was not equal 
(BNE) to V1GTV2. Once again, this branch op- 
eration is used instead of BCS, because an equal 
condition also sets the carry flag. In this case, 
since the BNE is used after a BCC instruction, 
the BNE can be considered a kind of "branch 
if greater than" instruction. 

Line 90 branches to V1EQV2 using the BEQ 
instruction. At this point, we know VI equals 
V2, since the high bytes are equal, and the low 
bytes are equal. 

Multiple-byte comparisons can be somewhat con- 
fusing at first, but we'll be using them often in Boot 
Camp programs, and you'll soon feel comfortable with 
them. Now, let's return to our "walk-through" of the 
first random number program. 

Line 390 compares the accumulator (which 
contains the high byte of the random number) 
to HIGHH, the high byte of the upper random 
number limit. This is the start of a 2-byte com- 
parison to see if the random number we just built 



ISSUE 29 



ANALOG COMPUTING 



PAGE 79 



is greater than the upper random number limit. 

Line 400 branches if the carry is clear (BCC) 
to CHEKLO. If the carry is clear, we know that 
the high byte of the random number is less than 
the high byte of the upper limit, and we can go 
on to check the random number to see if it is 
less than the lower limit. 

Line 410 branches if not equal to GETRND, 
since a not-equal condition (the same as "branch 
if greater than," when used after a BCC instruc- 
tion) means that the random number is greater 
than the upper random number limit, and we 
have to reach into the hat for another random 
number. 

Lines 420-430 compare the low byte of the 
random number to the low byte of the upper 
limit. At this point, we know that the high-order 
byte of the random number is the same as that 
of the upper limit, so we need to compare the 
low-order bytes to complete the comparison op- 
eration. 

Line 440 branches if the carry is clear (ran- 
dom < limit) to CHEKLO. We now know that 
the random number is less than the upper limit, 
and must check to see if it is above the lower 
limit. 

Line 450 branches if not equal (random > 
limit) to GETRND, since this shows that the ran- 
dom number is greater than the upper limit. 

Lines 460-470, labeled CHEKLO, begin the 
process of comparing the random number to the 
lower limit. The high value of the random num- 
ber (RESHI) is loaded into the accumulator and 
compared to LOWH, the high byte of the low- 
er random number limit. 

Line 480 branches if the carry flag is clear 
(random < lower limit) to GETRND, because 
the random number is less than the lower limit. 

Line 490 branches if not equal (random > 
lower limit) to RANDOK, since this indicates 
that the random number is greater than the lower 
limit. 

Lines 500-510 compare the low byte of the 
random number to the low byte of the lower ran- 
dom number limit. This is done only when the 
high bytes of the random number and low limit 
are equal. 

Line 520 branches if the carry flag is clear 
(random < lower limit) to GETRND to try an- 
other random number. If this branch is not taken, 
we know that the random number is greater than 
or equal to the lower limit, and is acceptable. 

Line 530 returns to BASIC when the random 
number is greater than or equal to the lower limit, 
and less than or equal to the upper limit. The 
random number is in BASIC'S return area (RES- 
LO and RESHI), ready to be used by the BASIC 
program. 



Now that we've completed the random number sub- 
routine ("hat" version), let's use it in a BASIC pro- 
gram. Figure 5 shows the subroutine installed in a 
BASIC program. 

1 REM mf* RANDOM NUMBERS *** 

2 REM 

3 REM NUmER5 OUT OF A HAT CASM) 

4 REM FASTER THAN BASIC, STILL SLOW 

5 REM 

10 DIM DC319):F0R X=e TO 319 :DCK}=192 : 

NEXT X 

20 GRAPHICS 24:SETC0L0R 2,e,e:C0L0R 1 

30 FOR X=153e TO 1598: READ N:POKE X,N: 

NEXT X:RAND=153e 

48 A=USRtRAND, 0,3193 

SO DCA)=DCA)-l:PLOT A,DCA} 

60 GOTO 40 

100 DATA 216,169,0,133,203,133,204,104 

,201,1,240,6,104,133,204,104,133,203,1 

04,133,207,104,133,206,173 

110 DATA 10,210,133,212,173,10,210,133 

,213,197,207,144,10,208,240,165,212,19 

7,206,144,2,208,232,165,213 

120 DATA 197,204,144,226,208,6,165,212 

,197,203,144,218,96 

Figure 5. 

After typing in Figure 5, RUN it. In a few seconds 
(required to initialize the program), you will see a 
graphic representation of the random numbers being 
generated by the subroutine. The program is gener- 
ating random numbers between and 319, and plot- 
ting them on a graphics 8 screen, each value plotting 
in the appropriate X column. Like our first BASIC 
program, this looks fine, doesn't it? 

Stop the program by pressing BREAK and change 
Line 40 to read: 

40 A=USRCRAND, 100, 1011 

This will change the random number range from 
0-319 to 100-101, a much smaller range. After chang- 
ing the program, RUN it. See how much more slowly 
the columns grow? Even in ultra-fast machine code, 
the "hat" method has speed problems. What can we 
do to fix this problem? Our next program will show 
a technique which works just fine. 

Who was that masked program? 

One of the many nice things about assembly lan- 
guage is the degree of control you have over the com- 
puter. You can rewrite I/O routines, alter the display 
with control structures known as "interrupts," and 
manipulate data in many useful ways. We're going to 
use this latter feature to help us write a better, faster 
random number generator. 

The reason our first random number subroutine 
didn't work as fast as we wanted was that it was tak- 
ing every number that came along and checking to 
see if it was in the specified range. Sooner or later, 
a number comes along that fits, but we don't want 
to wait that long. If you're interviewing people for 
a nuclear physicist's job, you don't want to talk to 
everyone in the state of New York, so you place a clas- 
sified ad listing the qualifications— to limit the num- 
ber of people you have to interview. That's just what 
we're going to do, only we'll do it with numbers. 



Li;co Computer Marketing & Consultants 

■■PEOPLE WHO KNOW WHAT THEY WANT AND KNOW HOW TO USE IT RECEIVE THE LOWEST PRICES AT LYCO" 



SAVE - PRINTERS 



GEMINI 10X 

$219 • 



MANNESMANN 
TALLY 

SPIRIT 80 $255.00 

MTL-160L $549.00 

MTL-180L $739.00 

JUKI 

Juki 6100 $389 

Tractor Kit $119 

Epson 

RX80 $229 

RX80FT $269 

RX100 $369 

FX80 $369 

FX100 $555 

JX80 $1089 

LO1500P(includeskil). . $1 149 
LQl 500S(includes kil). . . , $529 



Citoh 

Prowriter8510A $269 

8510BC2 $399 

8510BP1 $349 

851 OSP $399 

851 OSR $409 

8510SCP $419 

8510SCR $499 

1550P $489 

1550BCD $539 

A10-20P $469 

F1040PU or RDU $899 

F1055PU or RUD $1099 

DIGrTAL 
DEVICES 

16K printer buffer 99.75 

32K printer buffer 1 19.75 

64K printer buffer 1 69.95 



BLUE CHIPS 

M12010 $275 

M12010C-64 $275 

D4015 $1389 

OKI DATA 

Okimate 10 CALL 

82A $299 

83A $549 

84 $649 

92 $349 

93 $569 

LEGEND 

880 $229.00 

1000 $279 

1200 CALL 

1500 CALL 

'081 CALL 



CARDCO 



LQl Printer 379.00 

LQ3 Printer 299.00 

C/?6 C-64 Graphics .... 65.75 

C/7BC-64 39.75 

C/?AT Atari 55.00 

Smith Corona 

Fastext 80 189.00 

D100 219.00 

D200 399.00 

D300 519.00 

L1000 339.00 

Corona 

LP300 Laser Printer .... 2699. 
200361 Toner Cartridge .. . 89. 

NEC 

NEC 8025 $699 

NEC 8027 $359 



STAR 
MICRONICS 



Gemini 1 Ox 
Gemini 1 5x 
Delta 10 
Delta 15 
Radix 10 
Radix 15 
Powerlype 
Sweet P 1 00 



$229 
$345 
S339 
$449 
S499 
$589 
$309 
$549 



NOW STOCKING CITIZEN & OLIVETTIC PRINTERS 



PANASONIC 

1090 $219 

1091 $259 

1092 $415 

1093 $599 

3151 $469 

PANASONIC 
1090 $219 



MONITORS 



MODEMS DISK DRIVES 



TAXAN 

210Color RGB 


-. 255 
.115 
. 125 
. 295 
. 349 
. 449 
. 145 
. 149 

. 86 
. 82 
..129 
. 276 
. 389 
. 449 
. 589 

H2 GO 
88 00 




AMDEK 

300 Green 


125 


too Green 

105 Amber 

400 Color RGB 


300 Amber 


145 


310 Amber - IBM 

Color 300-Audio 

Color 500-Composite. 
Color 600 . . 


....159 

....265 

....379 

545 


4 10 Color RGB 

420 Color IBM 

121 Green IBM 

122 Amber IBM 

ZENITH 

ZVM 122A Amber 

ZVM 1236 Green 

ZVM 124 Amber IBM . . 

ZVM 131 Color 

ZVM 133 RGB 

ZVM 135 Compos. te . . . 
ZVM 136 Hi Res Color . 

GORILLA 

'-' f-^"-- s 

' t' Ar''{)cf 5 


Color 700 

Color 710 


. . 635 
. .. 675 


NEC 

JB 1260 Green 

JB 1201 Green 

JB 1205 Amber 

JC 1215 Color 

JC 1216 RGB 


-- 99 00 
135 00 
145 00 
255 00 
399 00 
349 00 

229 


JC 460 Color 

SAKATA 

SC-100 Color .. . 


STSI Tinsland 


.... 29 


SG 1000 Green 

SA 1000 Amber 


... 99 
... 109 





ANCHOR 1 


VolKsmodem . , 


Sbb 99 


Mark VII 


$95 99 


Hayes 




Smartmodem 300 


. $199 00 


Smartmodem 1200 . . 


$469 00 


Smarlrnodem l 200b . 


.$39900 


Mic romodem lie .... 


S249 00 



INDUS Atari 
$219.00 



DISKETTES 



». 


MAXELL 

5'.'MD-1 $17.95 


:SS:ifij::::SS::::::::::::::::: 






5*< MD-2 $23 95 




SKC 

(Box 10) 
SKC-SSSD. 


Box 10) ELEPHANT 

(Box 10) 
i;i9qQ ^'/"5;c;F;n _ «i/iqq 


SKC-SSDD $15 99 5'4SSDD . 


$16 99 


SKC-DSDD $18 99 5'*'DSDD 


tOI QQ 


"■•"' 1 



800XL COMPUTER CALL 

1050 DRIVE CALL 

1010 RECORDER $55.00 

1 020 PRINTER $59.00 

1025 PRINTER $189.00 

1 027 PRINTER $249.00 

1 030 MODEM $59.00 

MONKEY WRENCH fl . . . $52.75 
HOME ACCOUNT D . . . . $44.75 

TAX ADVANTAGE $35.75 

UEAULINE $34.75 

ENCHANTER $34.75 

INFIDEL $34.75 

PLANETFALL $34.75 



STAR CROSS $34.75 

SUSPENDED $34.75 

WITNESS $34.75 

ZORKI $34.75 

ZOHKII $34.75 

Trillium 

Shadowkeep $26.75 

Fahrentieit 451 $26.75 

Amazon $26 75 

Microprose 

Solo Fligtit $22.75 

NATO $22.75 

Spitfire $19.95 

F-15 Strike $22.75 



Spinnaker 

Alptiabet $18.75 

Story Mactiine $21 75 

Kids on Keys $18.75 

Grandma $1 9 75 

Snooper Troop $22.75 

Broderbund 

Bank St. Writer $42.75 

SpellmaKer $19.95 

Mask of Sun $24.95 

Choplifter $22.95 

Lode Runner $22.95 



BUSINESS 

VISICALC $159 75 

LETTER PERFECT R . 59 00 

DATA PERFECT $89.75 

FILE MANAGER $69 75 

Scarborough 

Songwriter $24.75 

Picturewril $24.75 

Mastertype $24.75 

SSI 

Baseball $22.75 

Queslron $26.75 

50 Missions $21.75 



Synapse 

Synfile $48.95 

Syncalc $48.95 

Syncomm $29.95 

Syntrend $48.95 

Graphics Tablet 

Supersketch $32.95 

Kolala $89.95 

THE ILLUSTRATOR $99.95 

SPIDER EATER $22 50 

SPEEICOPTER $27 75 

SUB LOGIC 

FlightSimulatorll Atari ...32.75 



TOLL FREE t -800-233-8760 




TO ORDER 



CALL TOLL FREE 

800-233-8760 




or send order lo 
Lyco Computer 
P O Boi 5088 
Customer Service 1-717-327-1825 Jersey Shore PA 1 7740 



RISK FREE POLICY 

In-slock Item stiipped wittiin 24 hours ol order. No deposit on C.O.D. 
orders. Free shipping on prepaid cash orders within the Continental US. 
PA residents add sales tax. APO. FPO. and I nternational orders add $5 00 
plus 3% for priority mail service Advertised prices show 4% discount for 
cash, add 4% for Master Card or Visa. Personal checks require 4 weeks 
clearance before shipping. All items subject to change without notice 
For your protection, we check for stolen credit cards. 



CIRCLE #133 ON READER SERVICE CARD 



ISSUE 29 



ANALOG COMPUTING 



PAGE 81 



Inside the computer, all numbers are stored in bi' 
nary format, a series of on or off bits. Using a tech- 
nique called "masking," we'll preprocess the random 
numbers, making a match in the range we want more 
likely. 

Here's how it works. First, we get and store the lim- 
its of random number values, say, from 200 to 1580. 
Next, we find the difference between these "endpoint" 
values, which, in this case, is 1580 — 200, or 1380. 
Knowing this range makes the random number gener- 
ation much easier, since we only have to generate a 
number from to 1380, then add the low limit of 
200 to it. 

The real "meat" of this technique lies in masking 
the "raw" random number, so that it will be more 
likely to fall into the specified range. We take the bi- 
nary representation of 1380 and make a mask that 
stops at the highest bit, like this: 

1380: oeeeeioi eiieoieo 

MASK: 08088111 11111111 

Next, we build a 2 -byte random number from the 
RANDOM location, then AND it with the mask, 
like so: 

RANDOM: 11001011 01101001 = 52073 
MASK: 00000111 11111111 

RESULT: 00000011 01101881 = 873 

As you can see, the original random number 52073, 
has been masked down to 873, which is within our 
range of 1380. We then add 200 (the low limit of our 
random number) to the previous result, giving a final 
random number of 1073. 

It is possible for the masked random number to ex- 
ceed our range, but if that happens, we merely try the 
operation again. In any case, it's much faster than the 
"hat" method. 



8100 


LOHL = 


SCB 


;L0H LIMIT 


one 


LOMH = 


fee 




8128 


HIGHH = 


SCE 


;HIGH LIMIT TEMP 


8138 


RANGEL : 


: SCF 


; RANDOM ft RANGE 


8148 


RANGEH : 


: $D0 




0158 


RESLO = 


$D4 


; BASIC'S RESULT 


0160 


HESHI = 


SD5 
: Id20A 




8178 


RANDOM : 


;RAND tt REGISTER 


8180 


• 
g 






0198 


*= 


$0600 


; SUBROUTINE STAR 


8208 


f 






8218 


CLD 




; BINARY MATH! 


8228 


LDA 


no 


; INITIALIZE. . . 


0230 


5TA 


LOHL 


;LOH RANGE. . . 


0240 


STA 


LOHH 


; DEFAULT (0) 


8250 


PLA 




;GET tt OF ARGS 


0268 


CMP 


ni 


;l ARGUMENT? 


0270 


BEQ 


ARG2 


;YES! 


0280 


PLA 




;PULL AND STORE 


0290 


STA 


LOHH 


;LOH RANGE 


0300 


PLA 






0310 


STA 


LOHL 




0328 


ARG2 PLA 


;PULL AND STORE 


0330 


STA 


HIGHH 


;HIGH RANGE CHI] 


0348 


PLA 




;PULL HIGH LO 


8358 


SEC 




; SUBTRACT. . . 


8368 


SBC 


LOHL 


;LOU LIMIT. . . 


8378 


STA 


RANGEL 


;FROM. . . 


0388 


LDA 


HIGHH 


;HI LIMIT. . . 


0390 


SBC 


LOHH 


;AND GET THE. . . 


0408 


STA 


RANGEH 


; RANDOM RANGE! 


0418 


LDA 


ttSFF 


;INIT LOH MASK 


0420 


STA 


LOMASK 





0430 
0440 
0450 
0460 
0470 
0480 
0490 
0500 
0510 
0520 
0530 
0540 
0550 
0560 
0570 
0560 
0590 
8688 
8618 
8628 
8630 
0640 
0650 
0660 
0670 
0680 
0690 
0700 
0710 
0720 
0730 
0740 
0750 
0760 
0770 
0780 
0790 
0800 
0810 
0828 
8830 
8848 
8858 
8860 
0870 
0888 
8898 
0900 
0910 
0920 
0930 
0940 
0950 
0960 



LDX ttO 
HILOOP LDA BITS,)t 

AND RANGEH 

BNE GOTHLM 

INK 

CPK ttO 

BNE HILOOP 

STA HIMASK 

TAX 
LOLOOP LDA BITS,X 

AND RANGEL 

BNE GOTLLM 

INN 

CPX tt8 

BNE LOLOOP 

STA LOMASK 

BEQ RNDIT 
GOTHLM LDA MASKS 

STA HIMASK 

JMP RNDIT 
GOTLLM LDA MASKS 

STA LOMASK 
RNDIT LDA RANDOM 

AND HIMASK 

STA RESHI 

LDA RANDOM 

AND LOMASK 

STA RESLO 

LDA RESHI 

CMP RANGEH 

BCC LOHOK 

BNE RNDIT 

LDA RESLO 

CMP RANGEL 

BEQ LOHOK 

BCS RNDIT 
LOHOK LDA RESLO 

CLC 

ADC LOHL 

STA RESLO 

LDA RESHI 

ADC LOHH 

STA RESHI 

RTS 

JDATA ITEMS 

BITS .BYTE S80,$40,S20,S10 
.BYTE 588,584, 582, SOI 

MASKS .BYTE 5FF,57F,S3F,51F 
.BYTE S0F,S07,$03,501 

LOMASK .BYTE 

HIMASK .BYTE 
.END 

Figure 6. 



START M/HI BIT 
JGET TEST BIT, 

IS IT ON? 

YES! GET HI MASK 

NEXT BIT 

DONE ALL 8? 

NO, LOOP BACK. 

ZERO HI MASK, 

ZERO X REGISTER 
:GET TEST BIT, 

IS IT ON? 

YES! GET LO MASK 

NEXT BIT 

DONE ALL 8? 

NO, LOOP BACK 

ZERO LOH MASK 

NOH GET RANDtt! 

X ;GET MASK, 

SAVE IT, 

AND GET RANDtt! 

X JGET MASK 

AND SAVE IT. 

;GET RANDOM tt 

MASK IT OFF, 

SAVE HI RANDtt 

GET ANOTHER, 

MASK H/LOH MASK 

AND SAVE IT. 

IS HI BYTE 

>LIMIT? 

NO, BOTH OK! 

TOO BIG, RETRY! 

IS LOH BYTE 

>LIMIT? 

NO, IT'S =, OK! 

TOO HIGH, RETRY! 

NOH FINISH. . . 

BY ADDING. . . 

BASE VALUE. . . 

TO RANDOM. . . 

NUMBER. .. 

AND RETURN. . . 

TO BASIC! 



Figure 6 shows the assembly code for the random 
number masking method. Let's walk through it to- 
gether, finding out how it works. 

Line 210 clears the decimal mode, to ensure 
that we're working with binary arithmetic. This 
is absolutely essential in this program, since we'll 
be doing addition. 

Lines 220-310 retrieve the low random num- 
ber limit, just as in Figure 2. Once again, if only 
one argument is sent by BASIC, the low limit 
will default to 0. 

Lines 320-330 pull and store the high byte 
of the upper range limit temporarily. 

Lines340-400 pull the low byte of the upper 
limit, then subtract the low limit from the up- 
per limit, giving the range of values. This num- 
ber is stored in the locations RANGEL and 
RANGEH. 

Lines 410-420 initialize the low byte mask to 
$FF (11111111 binary). 



Lines 430-500 make up a loop which scans 
the high byte of the range to find the first "on" 
bit. This is done by using the BITS table at Lines 
900-910. The X register is used to index each 
byte in the bits table, which is, in turn, ANDed 
with RANGER . If the result of the AND oper- 
ation is nonzero, the bit is on, and the program 
branches to GOTHLM to select the proper mask 
for the high byte. If no bits are on in the high 
byte of the range, the HIMASK mask is set to 
0. Three typical bytes and their associated masks 
are shown in Figure 7. 

HI BYTE: 18118001 
IM5K: 11111111 

HI BYTE: 00110100 
HA5K: 00111111 



HI BYTE: 

Mask: 



00000808 
88880000 



Figure 7. 

Lines 510-590 perform the same function as 
Lines 430-500, except that they find the highest 
bit in the low byte of the range. This code is only 
performed if no bits were found in the high byte 
of the range. If no bits are on in the low byte, 
the mask is set to 0, and the program will branch 
to RNDIT, where a random number will be 
generated. 

Lines 600-620 load the appropriate high-byte 
bit mask from the MASKS table, placing it in 
the location HIMASK, then jump to RNDIT, 
to generate a random number. 

Lines 630-640 load the mask for the low byte 
of the random number from the masks table. This 
byte is placed in LOMASK. 

Lines 650-700 load random bytes from the 
location RANDOM, mask them with the LO- 
MASK and HIMASK masks, and place them in 
the RESLO and RESHI bytes. Remember, we 
must still compare this number to the random 
number range to be sure it's not too big, before 
returning to BASIC. 

Lines 710-780 perform a 2 -byte comparison 
operation RESLO & RESHI and RANGEL & 
RANGEH. If the random number generated is 
greater than the range, the program loops back 
to RNDIT to try again. 

Lines 790-850 are executed when the random 
number generated is acceptable. They add the 
random value to the low range limit, placing it 
back into RESLO and RESHI. At this point, the 
subroutine is finished, and we have a random 
number between the specified upper and lower 
limits. 

Line 860 returns to BASIC with the RTS in- 
struction. 

Lines 900-930 are .BYTE directives which set 
up the bits and masks tables. These are used in 
Lines 440-640 to set up the appropriate data 
mask values. Note that each table is made up of 
8 bytes, and that each byte of the masks table 



is the mask for the corresponding byte of the bits 
table. 

Lines 940-950 are the storage locations for 
the high and low byte masks. 

Figure 8 is a BASIC program with the "masking" 
random number subroutine. Type it in and RUN it. 

1 REH *** RANDOH NUHBERS *** 

2 REM 

3 REM MASKING METHOD 

4 REM FASTER THAN THE HAT! 

5 REM 

18 DIM Df 3191: FOR X=8 TO 319:DCX}=192: 

NEXT X 

20 GRAPHICS 24:SETC0L0R 2, 0,0: COLOR 1 

30 FDR X=153e TO 1687: READ N:POKE X,N: 

NEXT X:RAND=lS3e 

40 A=USR (RAND, 0,315) 

50 D(A)=D(A)-1:PL0T A,D(A9 

60 GOTO 40 

100 DATA 216,169,0,133,203,133,204,104 

,201,1,240,6,104,133,204,104,133,203,1 

04,133,206,104,56,229,203 

110 DATA 133,207,165,206,229,204,133,2 

08,169,255,141,150,6,162,0,189,134,6,3 

7,208,208,26,232,224,8 

128 DATA 288,244,141,151,6,170,189,134 

,6,37,207,208,19,232,224,8,288,244,141 

,150,6,240,15,189,142 

138 DATA 6,141,151,6,76,88,6,189,142,6 

,141,158,6,173,10,210,45,151,6,133,213 

,173,18,218,45 

148 DATA 158,6,133,212,165,213,197,288 

,144,10,288,232,165,212,197,287,248,2, 

176,224,165,212,24,181,283 

158 DATA 133,212,165,213,101,204,133,2 

13,96,128,64,32,16,8,4,2,1,255,127,63, 

31,15,7,3,1 

168 DATA 8,8 

Figure 8. 

Once again, you will see the random numbers se- 
lected graphically represented by columns on your 
screen. As you can see, the subroutine returns ran- 
dom values quickly. Now stop the program with the 
BREAK key and change Line 40 to read: 

48 A=USRtRAND,ie8,181) 

RUN the program again. See how fast columns 100 
and 101 grow? Seeing is believing: the masking meth- 
od of generating random numbers gives much faster 
results than the "hat" method, even when the ran- 
dom number range is small. 

Don't change that dial! 

Next issue, we'll delve into new areas of assembly 
language programming on the Atari personal com- 
puters. Until then, study these program examples to 
increase your understanding. Remember, if you get 
stuck, you can contact Charles Bachand or me on 
CompuServe, or by writing. D 



Boot Camp 

c/o ANALCfd tomputing 



P.O. Box 23 



^^rcester, MM 







SUFFERING FROM 



Atari Writer 

plus Printer Woes? 



PRINTER 

FORMATTED 

DATA DISK 



• EACH PRINTER DATA DISK WILL GIVE 
YOU ALL AVAILABLE OPTIONS POSSIBLE WITH 
YOUR PRINTR& ATARI WRITER 

• NOWYOUCANEASILYUNDERLINE.SUPER/- 
SUBSCRIPT, ELONGATE, DOUBLECOLUMN PRINT, 
CHANGE FONTS, ETC. 

AVAILABLE FOR 



MATRIX$i A95 
PRINTER ■ ^ 

BMC - C. ITON - EPSON - 

GEMINI -LEGEND -OKIDATA- 

PANASONIC - ATARI - 

RITEMAN - CITIZEN 

PLUS OTHERS 



DAISY A-* -ft- 

PRINTER ^^ 

SILVER REED 

PANASONIC 

JUKI - DIABLO - OLYMPIA 

SMITH CORONA 

PLUS OTHERS 



SPECIFY PRINTER MAKE & MODEL 
Send Check or Money Order to: 



Dept. 3, 86 RIdgedale Avenue 
Cedar Knolls, NJ 07927 

(NJ Residents add 6% Sales Tax) 
Dealer Inquiries Invited 

CIRCLE #128 ON READER SERVICE CARD 



NEED HELP? 



Use Handicards! 

Quick Reference Instructions 
for Atari Programs 




• Organized commands 

• Easy to read 

• Durable plastic (11" x 4 1/4") 

• Use on or off computer 

Now available for: 
ATARIWRITER- 
Beginning BASIC 

(with Error Codes) 

Only $8.95 ea. postpaid 

(NY residents add sales tax) 
"Trademark of Atari Corp. 



Hand! Publishing Inc. 

P.O. Box 453 

Ardsley, NY 10502 



CIRCLE #135 ON READER SERVICE CARD 



ATTENTION AJfiiR\ DISK 
DRIVE OWNERS 

Back up your 
valuable software. 



THE CHIP 

THE CHIP with Arctiiver/Editor Software tor the Atari 
B10 and 1050 disc drives. Includes Disassembler & 
Sector Editor. Includes Custom Formatter and Map- 
per. Backs up virtually any disk. 

$129.95 POST PAID 

Available soon for 

other Atari compatible disc drives. 

HAPPY 810 ENHANCEMENT 

Complete with Warp Speed software package. Plug-in 
installation — no soldering. Backs up any disc. 
Regular Price $249.95 
LIMITED SPECIAL OFFER $199.95 

Soon available tor other disc drives. 

HAPPY OWNERS 

Update your •nhancwrwnt with Happy Version Arch- 
iver/Editor. Makes Happy drives compatible with the 
chip. 

$39.95 POST PAID 

AH sottwarm tor th» Atari DISCOUNTED 30H or MORE. 
Discounts on ell Atari compatlbl* hsrdw»r«. 

Send lor lre« brochure on any o( the above or lor details on our 
sottware discounts. 



SOUTHERN SOFTWARE 

A DIVISION OF SOUTHERN SUPPLY COMPANY 
1879 RUFFNER ROAD BIRMINGHAM, At 3S210 

24 HOUR PHONE 205-956-0986 
Order before n A.l^. lor same day stripping. 



CiRCLE #136 ON READER SERVICE CARD 




Need something interesting to do with that left o»er 

hamburger! How about a dessert for someone on a diet? 

The recipe you need is only seconds away with: 

THE COMPUTER 
GOURMET 

The Computer Gourmet is your complete kitchen helper. 
Twelve servings too many? A quicit keystroke and your 
serving size is adjusted to the number you need. Want a 

shopping list of ingredients? No problem! 

The Computer Gourmet even comes with its own complete 

set of recipes! (And its very easy to add your own.) 

Automate your kitchen with 
The Computer Gourinet 

Available on disk lor Atari- computers (requires 48K). 
Send $29.95 plus $2.00 for postage to: 

NEW HORIZONS SOFTWARE 

P.O. Box 180253 

Austin, Texas 78718 

Or, for more information, call (512) 4454767. 



New Horizons 

Expanding Your Life 



Contact us lor information on all our products for Atari Computers. 
\ Deater inquiries invited. Atari is a trademarlt of Atari, Inc. / 

CIRCLE #137 ON READER SERVICE CARD 



5UPER 3D 
PLOTTER 



-THIS rs IT!! 

AN INCREDIBLE 3D ftNIMflTION AND 
DISPLAY PftCKflSE FOR ALL ATARI 
COMPUTERS WITH 4BK RAM AND ONE 
DISK DRIVE. THIS PRDBRAM WILL 
ALLOW YOU TO CREATE DETAILED 3D 
LINE DRAWN IflABEB, IN FULL 
SCREEN, HI-RES COLOR! LAY OUT AN 
ENTIRE CITY OR DESISN COMPLEX 
OBJECTS WITH THE AID OF ft HISHLY 
VERSITILE SCREEN EDITOR. THEN, 
SIT BACK AND BE AMAZED AS YOU 
MOVE AND ROTATE YOUR CREATION, 
AT AN UNBELIEVABLE 3-4 SCREEN 
UPDATES PER SECOND! t THIS IS THE 
KIND OF ANIMATION THAT WAS 
CONSIDERED IMPOSSIBLE FOR AN 
ATARI. BELIEVE IT!! THIS PROSRAM 
ALLOWS MORE REAL TIME CONTROL 
THAN ANY CURRENTLY AVAILABLE 3D 
SYSTEM FOR ANY 8 BIT MACHINEl 

• FULL ROTATION AND ROTATIONAL 
OFFSET CONTROL ON ANY AXIS! 

• CHANSE VIEWER DISTANCE, 
MAGNIFY, AND ALTER 
PERSPECTIVE AT WILL! 

• SPEED AND ACCELERATION 
CONTROL IN ALL DIRECTIONS. 

■ ALL MOVEMENT EXCEPTIONALLY 
SMOOTH AND ACCURATE 

• DUMP ft SUPER HI-RES 164B X 
3841 IMAQE TO EPSON AND 
MOST OTHER DOT MATRIX 
PRINTERS. 

» CHAN8E OR ADD TO YOUR 

CREATIONS AT ANY TIME. FULL 
DISK BTORABE CAPABILITY FOR 
YOUR FINISHED WORK. 

AND MUCH MORE! 

FOR MORE INFO ON THIS 
MASTERPIECE, SEND S.A.S.E. TDl 

RANDOLPH CONSTAN 

23 BROOK PLACE 

E. I8LIP NY,ll73B 




^min^g'p 



.^ 



^-ip 



Design characters or symbols 
vith a joystick. Save them &, 
dovnload sets to an Okidata 
92 or Epson FX80 printer. 
Comes with a librarg of fonts 
Requires 48k Atari®. On disk. 
Send $29. 95 (check or money 
order -Specily printer) to: 

Designer S. Inc. 

7543 V. Hillsborouqh 

Tampa^ F1. 33615 
Visa & Mastercard accepted 
Phone (813)-884-6640 

Hours 1 ;00am to 9 :30pm 



i 



jj^Q^^I 



\W22Zi 



CIRCLE #138 ON READER SERVICE CARD 



CIRCLE #139 ON READER SERVICE CARD 



PAGE 84 



ANALOG COMPUTING 



ISSUE 29 



WINTER CES; Part 2 

(continued from page 4) 

Unfortunately, Commodore wasn't showing their 
recent acquisition, the Amiga. Its unveiUng is now 
scheduled for June's Summer CES in Chicago. The 
latest word is that it will not use the Digital Research 
GEM operating system, but rather a similar (though 
not compatible) operating system. 

It seemed as if there were dozens of the Japanese 
MSX computers in attendance. You will recall that 
MSX was announced just about three years ago, her- 
alded as the beginning of a new wave of home com- 
puters. As it turns out, a lot has happened in the 
low-end home computer market in the last two years. 
What once looked like a shoo-in is now not so like- 
ly to be an automatic success. 

MSX was to bring a standard to the low-end com- 
puter business. That may have been fine two years 
ago, but now that Commodore and Atari are the only 
two players in the low-end market, it's virtually im- 
possible for a newcomer to break in. Sorry MSX, you 
missed your market window. 

What of Apple and IBM? Both were no-shows at 
this CES, but some interesting rumors were circulat- 
ing. Apple is understandably a little nervous about 
its overpriced Macintosh computer, especially in light 
of the new Atari ST line. 

If the information I've received is correct, Apple 
will have announced significant price reductions by 
the time you read this. Apple might be selling the 
I28K Macintosh for about $1495 and the 512K 
Macintosh (the fat Mac) for about $2495. 

Software. 

Atari had very few software titles on display, but 
those available were very impressive. The most nota- 
ble was a product called Infinity, developed by Matrix 
Software in Cambridge, Massachusetts. Infinity is an 
integrated software product that has a word proces- 
sor, spreadsheet, relational database and telecommu- 
nications programs. 

Infinity uses a technique called virtual memory for 
its disk storage, so that the size of any document is 
dependent on the amount of storage available on the 
disk, rather than on how much RAM the computer 
has. It will be available for the Atari XE and ST com- 
puters. Price is expected to be $50 for the XE version 
and $79 for the ST version. It's said that Infinity will 
even run on the Atari 800 and XL computers. 

Another new Atari program is Shopkeeper. This 
is a modular program for small business use. It will 
sport inventory, accounting and electronic cash regis- 
ter functions. The first module, available in the first 
quarter of 1985, is essentially an electronic cash reg- 
ister emulator. It will keep track of inventory as sales 
are made, compiling a daily report which is directly 



transferable to the general ledger module (to be avail- 
able in the second quarter). Atari said that there would 
be six modules in the series. 

Still another Atari software title is the Silent Bu- 
tler. This home financial program balances multiple 
checking and credit card accounts. It allows the user 
to set up various categories for financial tracking and 
even permits easy maintenance of tax deductions. The 
most novel aspect of this new program is its ability 
to print on your own ordinary personal checks by 
means of a plastic holder. 

Song Painter is Atari's music construction program 
for their current line. It allows the user to place stan- 
dard notation musical notes on the screen by using 
joystick-controlled, self-explanatory icons. Because of 
these features, this program is easy to use and will 
allow even musical novices to tinker with making 
music. 

Atari finally announced that the Plato cartridge 
would become available in the first quarter of 1985. 
However, Control Data (not Atari) will be marketing 
this telecommunications learning aid. The official 
name of this product is the Learning Phone, and it 
will retail for under $50. 

Other new software products include the Atari Tu- 
torial, a cartridge which explains the XL parallel bus, 
ROM, RAM, graphics, and so on. Crystal Castles 
and Mario Bros, are both cartridges based on the 
coin-op games. 




Crystal Castles. 

Batteries Included, the Canadian firm most noted 
for its Commodore products, was showing some new 
Atari software. They haven't been in the Atari mar- 
ket long, but their recent product introductions for 
the Atari have been strong. The integrated software 
package called HomePak contains a word processor, 
database and terminal program. (See the reviews of 
HomeTerm and HomePak in ANALOG Comput- 
ing's issues 25 and 28, respectively.) Voted the 1984 
bargain of the year by Infoworld, HomePak lists for 
$50. 



ISSUE 29 



ANALOG COMPUTING 



PAGE 85 



Another recent release for the Atari is B/Graph 
(reviewed in issue 15). Although first published over 
two years ago by In Home Software, B/Graph had 
been unavailable to Atari owners for almost a year. 
It offers the capability to do high quality charts, graphs 
and statistics for business or educational use. B/Graph 
lists for $70. 

The major news coming from Batteries Included is 
that their Paper Clip for the Atari is almost com- 
pleted. Paper Clip is an extremely powerful word pro- 
cessor. It offers dual text windows, print previewing, 
dozens of printer drivers, macro capability and a host 
of useful features. Two of the features I particularly 
like are the automatic word count command and the 
two-letter reversal command for correcting mistakes 
like hte. Paper Clip will sell for about $80. 




/ 



Bounty Bob Strikes Back. 

Big Five Software Jias announced the sequel to their 
very -popular Miner 2049er. Called Bmnity- B9E. 
Strikes Back, this new game provides^.ra0re'"oF the 
same type of hopping, jumping aiid^nmbing aceirlfy 
that made the original game §iich a success. bounty 
Bob is available for the Atari computer /low, for a 
rather steep $49.95. It corals on a bank-s^ecting 40K 
ROM cartridge. The ne^v game features improved 
graphics and sound, and o\?^ twenty scre^. The title 
screen and the high score screen are very i;lever and 
amusing. Bill Hogue and CUrtis Mikolyskl, its pro- 
grammers, have done arj^eifcellent joK j- 

Broderbund had only one significant product an- 
notmrement for Atari owners. The Print Shop will 
be available for the Atari computer by the tii«e you 
read this. The Print Shop allows you to,make greet- 
ing cards for family and friends, stationery for personal 
or business use, banners, signs, notices, advertising 
flyers. . .whatever you want. '^ 

The program is menu-driven and esisy to use. I've 

seen the results, and they're quite good. The Print 

Shop provides eight type styles in various si^es, dozens 

;,of already created pictures and symbols, a text ai^d 

^graphic editor to allow you to create your own designs, 



and numerous border designs and pattersn for use in 
your printed output. . .all for $45. 

CBS Software had what seemed to be dozens of new 
titles but few, if any, for the Atari computer. Dr. Seuss 
Fix-up the Mix-up Puzzler is an electronic jigsaw puz- 
zle that features six favorite Dr. Seuss characters, in- 
cluding the Cat in the Hat. Each puzzle is randomly 
designed and has five skill levels. The more advanced 
levels divide the picture into more and smaller pieces. 
The list price for this educational game is $30, and 
it will be available in March of 1985. 

No other titles for the Atari were announced by 
CBS, but recent educational games include: Sesame 
Street Astro Grover, a counting and adding game 
that provides learning and fun for children aged 3 to 
6; Sesame Street Learning Go Round, a letter recog- 
nition and simple spelling game for youngsters 3 to 
6; and the excellent Success with Math series of self- 
paced math tutorials for children in grades 6 through 
12. 

Electronic Arts, less than two years old, currently 
has about fifteen software titles for the Atari. In their 
first year of existence, they supported Atari computers 
with over a dozen software titles, including such greats 
as Pinball Construction Set, M.U.L.E., Seven Cities 
of Gold and Archon. Unfortunately, Electronic Arts 
announced no new titles for Atari at the CES, al- 
though they did have some interesting new Commo- 
dore 64 material 64. Hopefully, we'll see these ported 
over to the Atari sometime this year. 

Epyx had some surprising news. Lucasfilm's Ball- 
blazer and Rescue on Fractalus, originally developed 
over eight months ago for the old Atari, will be dis- 
tributed on disk by Epyx, rather than on cartridge 
,bv" Arart;^oth -games'age said to contain additional 
4oxxn& 6n the originals. 




Ballby^ 

Ballblazer is a futuristic tw<>-player fantasy sport 
game, played at high speeds on a^plit screen khg^ 
ing both players' points of view. Resciie-^^n Fractalu*-^ 
is a space action strategy game, featuring excellent^ 



PAGE 86 



ANALOG COMPUTING 



ISSUE 29 



3-D animation. The player flies a fighter spacecraft 
to the planet Fractalus, to rescue downed pilots, bat- 
tle enemy saucers and destroy gun emplacements. 

In addition to announcing these Lucasfilm games, 
Epyx reported that they had signed a deal with Lucas- 
film to bring out two future games for the Atari and 
other computers. The current disks will retail for about 
$35. 

Epyx introduced four of their own action/strategy 
games. Summer Games 11 is a follow-up to their pre- 
vious Olympic-style game. New events in Summer 
Games II: fencing, cycling, equestrian competition, 
kayaking and others. Two-on-Two Sports is a sports 
game with truly cooperative team play. Enthusiasts 
are offered the chance to play against the computer, 
as a team, in four popular sports — volleyball, soccer, 
football and baseball. Players can also face each other 
individually or in pairs, and a single player can com- 
pete with a single computer opponent. 

Epyx's FBI takes the fun approach to simulations. 
Players are challenged to pass the Bureau's qualifica- 
tion tests. You can try your skill on the combat pistol 
range, attempt the obstacle course, challenge your 
memory by constructing "mug" shots, or take a general 
examination on your knowledge of criminology and 
more. Pass the test and you can become a "G-Man." 

The fourth new action/strategy game from Epyx is 
called The Right Stuff. It's billed as a state-of-the- 
art flight simulation game. You are in the cockpit of 
a World War II Spitfire in the Battle of Britain. With 
joystick in hand, you take off, intercept the enemy 
in aerial dogfights and then land. Get those goggles, 
silk scarfs and leather jackets out for some seat-of-the- 
pants flying. 




Three new games from Epyx. 

Two popular mainframe computer games were also 
introduced by Epyx. Empire allows you to strategize 
your way to global domination, and the mission in 
Rogue is to make your way through a maze of seem- 
ingly never-ending dungeons, returning with the "Am- 
ulet of Yendor." 



In Moreta: Dragonlady of Pern, the sequel to Dra- 
gonrider of Pern, players must fight off a dreaded dis- 
ease. This adventure role-playing game follows the 
characterizations in Anne McCaffrey's novels. 

Epyx also announced three more games for the Atari 
and other computers: G.l. Joe, Hot Wheels and Bar- 
bie. All will be priced under $30 each and should 
be available soon. 

Imagic displayed their latest release. Chopper Hunt, 
in which you play a soldier of fortune, piloting a heli- 
copter in search of buried treasures. As you blast for 
objects, the holes you form are rapidly filled in by an 
enemy plane flying overhead. It's available on a flip- 
disk for Atari or Commodore at $19.95. 

MicroLab announced a couple of new programs for 
the Atari. Personal Banker allows you to keep track 
of your checkbook (up to 100 transactions per disk, 
with a running balance). Expenses can be sorted ac- 
cording to budget categories, and the program can 
reconcile your bank statement. HomeWriter is Micro- 
Lab's new word processor. It seems to have most of 
the usual word processing features and is easy to use. 
Both will sell for about $50. 

Several educational games were also introduced. 
Barnaby Builder and Barnaby Math are both arcade- 
style games to develop early math, logic, planning and 
perceptual skills. Mind Bind is a type of development 
game, presumably for young children. It was developed 
by educational psychologist Dr. Dorothy Rubin, but 
what it teaches is unclear to me. (Boy, I wish some 
of these companies would just come out and tell you 
what their product does.) 

Mindscape publishes educational software of gener- 
ally high caliber, representing valid learning princi- 
ples. The company— new to the Atari market— was 
exhibiting only a few products for Atari. 




The Halley Project. 

Their most impressive Atari software title is The 
Halley Project: A Mission in Our Solar System. This 
is a real-time space adventure simulation written by 
Tom Snyder. Every planet, star or moon depicted here 



moves at the same rate of speed and in the same or- 
bit as it does in our solar system. 

The Halley Project uses high resolution graphics 
and attention to detail in what looks like a very good 
simulation of outer space. Players must qualify for the 
top secret "Halley Project" by completing a series of 
navigational tests. Through the tests and obstacles, 
the program helps players master facts about our solar 
system, including Halley 's Comet and its orbit. Un- 
derstanding of gravity, atmospheric conditions, orbi- 
tal motion, relative size, position and orbits of planets 
and moons, plus locations of constellations and how 
eclipses work are all provided. The Halley Project 
will be available in March 1985 for $45. 




Ghostbusters. 

Activision was very visible at the show with several 
new products, all flashing a new, classy logo. You may 
never get the chance to be in the Ghostbusters sequel, 
but with your Atari, you can get a crack at bustin' 
some ghosts— as a G.B. franchise owner. As you travel 
through the city, you use a nuke accelerator pack and 
G.B. squad car to nab the ghosts— constantly on the 
watch for the marshmallow man. If it's a job well done, 
you'll have the chance to enter the Temple of Zuul 
for the grand finale. 

The Designers Pencil offers a menu of over eighty 
English commands used to build "programs," to create 
pictures, colors and sounds. Space Shuttle, the popular 
VCS simulation, is now available for the home com- 
puter line. Other new titles eventually to be on the 
Atari are: Rock N' Bolt, Web Dimension, Master 
of Lamps, Countdown to Shutdown, Alcazar: The 
Forgotten Fortress, Fireworks and The Great Amer- 
ican Cross Country Road Race (whew). Several of 
these are graphic adventures which Activision feels 
"are in tune with the consumer," as is their lowered 
pricing. 

Microprose, the experts on flight "anything" for 
Atari computers, have several new war simulations on 
the way. Crusades of Europe pits the Americans/Brit- 
ish against the Nazis, from D-Day through the Bat- 

(continued on next page) 




IT'S HERE! 

The R- Verier for 

PRINTERS 

See the Model "P" 



Connect your ATARI™ to 
fine Serial Printers like: 

• BROTHERS EP - 22/44 

• OLYMPIAECT-1 

• SMITH CORONA TP-1 

• OTHERS 

Directly compatible with 
BASIC, ATARI WRITER, and 
many other programs. 

Also included — 

"File Printer" - prints files 
directly from disk. 

Single sheet printing, too! 
Only $49.95 plus S/H 

Contact your favorite Dealer today 
or call 

I ADVAIMC6D INTERFACE DEVICES | 

P.O. Box 2188 
■ Melbourne, FL 32902 
(305) 242-2772 

C.O.D. - VISA - M.C. - CASH 

Atari IS a trademark of Atari, Inc 

R-Verter is a trademark ol Advanced Interface Devices. Inc. 



CIRCLE #140 ON READER SERVICE CARD 



PAGE 88 



ANALOG COMPUTING 



ISSUE 29 



tie of the Bulge. Decisions in the Desert relives the 
fierce battle between Rommel's Afrika Korps arki the 
^British 8th Ariji^ "Thesp games are a quantum l&ap 
raTOfidTiReir previous NATO Commander — certainly 
state-of-the-art computer wargaming. 

Later, you can be on the lookout for Blitzkrieg 
1940, the Sword of Zion and the Drive on Moscow. 
The last three will retail for $39.95 each. Also to be 
released shortly is Kennedy Approach, a real-life air 
traffic control simulator, complete with speech syn- 
thesis "broadcast" messages from the computer. You 
control small civilian aircraft all the way up to the 
Concorde SST, for $34.95. 

Parker Brothers, the folks who brought us Q*Bert, 
Gyruss, Mister Do, Montezuma's Revenge and Chess, 
announced only one new title for the Atari computer. 
Q*Bert's Qubes, a sequel to Q*Bert, will allow you, 
once again, to have that lovable Q*Bert hopping 
around your video screen. In this "upbeat sequel," 
Q*Bert must hop from qube to qube — rotating them 
with his feet while dodging menacing Meltniks, Shoo- 
bops and the Infamous Rat-A-Tat-Tat. (Hey, I didn't 
make these names up!) The game will come on a disk, 
sell for $25, and be available in the first quarter of 
1985. 

Spinnaker announced some new educational titles. 
Math Busters develops and improves the player's abil- 
ity to use and manipulate the four arithmetic processes 
— addition, subtraction, multiplication and division. 
The program takes place within the overall context 
of a fast-moving adventure game. It's recommended 
for ages 8 through 14 and will retail for $20. 

Rock 'N Rhythm (for ages 10 through adult) en- 
courages the player to experiment with and develop 
his or her sense of rhythm, tempo and melody. All 
this takes place as the player's own band and record- 
ing studio composes, plays and records songs. The 
price will be $20. 

Suncom announced a new version of PQ — The 
Party Quiz Game. With over 2700 new questions, 
the Bible Edition of PQ allows trivia buffs to test their 
knowledge of the Old and New Testaments. The ques- 
tions were authored by Father John Massion of the 
St. Isaac Jogues Catholic Church in Niles, Illinois. 
Questions cover the history, geography, psalms, prov- 
erbs, parables, kings, people, places and events of the 
Bible. The Bible add-on questions retail for $24.95. 
The basic PQ game has been reduced to $49.95. 

After a long lapse. Creative Software has a new 
Atari product. Trolls and Tribulations. The player 
leads trolls into underground caverns to find ancient 
treasures. The dangers are many, and there are thirty- 
two chambers to explore, at seven levels. Keep an eye 
on this company. This one retails at $24.95. 

Epson introduced their latest printer to the world, 
the HomeWriter 10. The sleekest printer we've seen 
from anyone yet, the unit is color-coordinated with 
whatever computer it's interfaced to (using plug-in in- 



terface cartridges). Print modes include "draft" and 
"jear letter-quality," at speeds of 1000 wpm (100 cpsj 
in^rafi^ec IGcroj^jieaxJjetter-quality. Other fea- \^ 
turesTTttekrternction paper feed, bi-directional print- 
ing and a IK buffer, for $269 retail. 

TSBBTWfPC 




Trolls and Tribulations. 

Synapse Software wasn't on the main floor of CES, 
due to their new financially austere management poli- 
cy. Having lost a significant amount of money on the 
old Atari, and having recently been bought by Broder- 
bund, they chose to exhibit their new products in a 
more private setting. 

In the comfort of a hotel suite, they were proudly 
showing some excellent new text adventure games. 
Mindwheel is the first of these so-called "electronic 
novels." Packaged in hardbound book form, its early 
chapters set the scenes and story lines, and introduce 
the characters. The game really begins with the en- 
closed floppy disk. 

Like other interactive fiction, Mindwheel makes the 
user the center of action. Decisions he or she makes 
will determine the plot of the story and, ultimately, 
the outcome. Interestingly, the manner in which the 
user talks with the various personae will elicit an in- 
character reply. 

In Mindwheel, you must journey into the minds 
of four deceased people of extraordinary power. You 
take a mind-bending telepathic trip back to the be- 
ginning of human civilization, in order to retrieve the 
"Wheel of Wisdom." Robert Pinsky, published poet 
and Shakespeare lecturer, is the author of this first 
adventure. 

In other Synapse news, the list prices on SynFile+ , 
SynCalc and SynTrend have all been lowered to $50. 
This makes these already-excellent programs even 
more of a value. Also, most of their computer games 
now come two to a box and are attractively priced 
at about $25. 

That's it for this report . . . the CES was, as you can 
see, a busy one. My socks are still with me, but Atari 
did capture its share of attention. D 



ISSUE 29 



ANALOG COMPUTING 



PAGE 89 



SOFTWARE MOVIES: VISUALIZER 

by Tim Kilby 

MAXIMUS 

6723 Whittier Avenue 

McLean, VA 22101 

400/800 Cassette or Disk $49.95 

by Arthur Leyenberger 

There are several programs currently available for 
the Atari computer that allow the creation of graph- 
ics screens. Most of these programs allow you not only 
to create your screens, but also to save them on disk 
or tape, and to print them on a printer. 

However, Software Movies: Visualizer is the only 
program I know of that, in addition to the above fea- 
tures, also simulates a slide projector. Screens can be 
sequenced in any order (up to twenty per disk) and 
shown either automatically or manually. A cassette 
recorder may also be used to provide a voice narra- 
tion or music, and to synchronize the slide show. 

Written by Tim Kilby, Visualizer comes packaged 
in a plastic, book-style binder with a two-sided disk 
and a cassette tape for runiiing the synchronized demo 
program. 

Side one of the disk contains the program, and side 
two contains the sample slides. Visualizer is really 
three programs in one. If offers a graphics creation 
program, an electronic "slide" creator/projector pro- 
gram and a screen dump program. A jigsaw game is 
also provided. The program is easy to use, and the 
manual is brief but well written. 

Slides are created using the graphics editor program. 
The graphics 7 screen is divided into two windows — 
the graphics window and the caption window. The 
graphics window is used for drawing and marking po- 
sition, with a cross hair cursor indicating location. 

The caption window contains prompts, menus and 
questions during slide creation. It also may contain 
a caption for the finished slide. 

Visualizer uses the computer keyboard and a joy- 
stick. The speed of the on-screen cursor may be ad- 
justed, and the joystick is used for drawing. The cursor 
control keys are used for fine cursor movement. Al- 
though the program is straightforward and easy to use, 
on-screen help is provided for any of the functions. 

Four colors may be selected from the "paint pots" 
displayed at the bottom of the screen. These color 
registers may be changed at any time. For drawing, 
any of four line widths may be selected. In addition, 
built-in functions for circles, ovals, rectangles and di- 
agonals are provided. 

Any area of the screen can be filled, either with 
a solid color or a textured combination, with the fill 
option. A border may be drawn around the entire 
screen, and new fonts, created with other character 
set generators, may be used. The text function is es- 
pecially useful. 



Text can be created in either the graphics window 
or the caption window. Text may include letters, num- 
bers, punctuation, mathematic operators and block 
graphics characters. In fact, any of the 128 keyboard 
characters can be drawn on the screen in any of four 
colors, in either normal or inverse video modes. 

The text can be displayed in any of twenty-four va- 
rieties or styles. Tall, wide, italicized, shadowed or 
striped letters are available. Depending upon the op- 
tions chosen, from eight to nineteen characters will 
fit on one line. 1 have created dozens of title slides 
for presentations using the text function of Visualizer. 
The shadow lettering is especially attractive and adds 
some class to the title slide. 



m> Show Slides 



D> 


set Auto T^'^flH^H 


W> sort Slides 9 


il> 


Load flssortnent 


B> 


create Slides 


■-m 


:'■■' "'J^ ■':, ' V: > ■'/■'■il'r': 



select option 



Visualizer. 



Once your slides are created, you may store them 
on disk. You can even merge slides. There is an ani- 
mation function of Visualizer that can give your slides 
the illusion of movement. 

One-color switching alternates color #1 with the 
background color, to give an effect much like a flash- 
ing neon sign. Two-color switching switches colors 
#1 and #2 back and forth. A carefully-designed slide 
may appear to rotate by using this feature. Three-color 
switching provides the greatest amount of simulated 
movement. Here, the three line colors continuously 
alternate. The background color is the only one that 
remains static. 

Three other animation options are available. Mar- 
quee operates on color #1. Moving colors appear, and 
the effect works well with large shapes. Sparkle is simi- 
lar to marquee, in that it gives a sequence of color 
to any lines drawn in color #1. Its effect is somewhat 
more subtle than that of marquee. 

Finally, rainbow animation varies the hues of any- 
thing drawn in color #1. Colors appear to be pastel, 
reducing the dramatic effect while still attracting at- 
tention to the shapes. The moving colors appear as 
constant luminance on a monochromatic screen, and 
the effect is best used with striped or textured shapes. 



PAGE 90 



ANALOG COMPUTING 



ISSUE 29 



The animation option chosen for the sUde will be 
saved, along with the picture, on the disk file. 

The slide show portion of Visualizer simulates a 
rotary tray slide projector's operation. With a slide 
projector, a round tray is loaded with pictures which 
are then projected onto a screen, in sequence. The 
projectionist may advance the slides forward or back- 
ward and may set the projector's automatic timer to 
advance the pictures automatically. 




tains some other useful information. Suggestions for 
parents on children's activities, as well as suggestions 
for making creative slides are included. There is also 
a section for programmers that has a program for load- 
ing Visualizer slides into your own BASIC programs. 

Unlike many software companies, Maximus pro- 
vides user support for their programs. A toll-free "hot- 
line" phone number is given, for help with the 
program or to find out about their other products. 

Visualizer is an excellent graphics package. It can 
be used for creative experiments with graphics or to 
produce good-looking title slides. My major use of 
the program has been to create title slides. Then I 
photograph the screens and use the real slides in my 
presentations. Many people think 1 have used an ex- 
pensive stand-alone graphics system to produce these 
slides. When 1 tell them that 1 used an Atari com- 
puter to make the slides, they are amazed. 

Thanks to Visualizer, my presentations are more 
professional and interesting. For those of you who 
fancy yourselves as budding video producers and 
directors, Visualizer could come in handy for mak- 
ing up very professional-looking titles. And, if you 
happen to have a video mixer, some really neat things 
can be done with this program and your video cas- 
sette recorder. D 



Visualizer's projector works the same way. Slides 
that you create are selected and loaded onto an im- 
aginary slide tray. The "electronic projector" has ad- 
vance, reverse and automatic timer features, just like 
a real slide projector. 

Once a disk of slides is loaded into the "projector," 
you may choose all or some slides and sort them in 
any order. This sequenced assortment may be saved 
for multiple screenings — and to avoid having to per- 
form the sorting process in subsequent showings. 

The built-in timer allows four preset time intervals, 
or you can enter your own interval. Also, the timer 
can be set to function with an Atari 410 or 1010 Pro- 
gram Recorder. The manual provides instructions for 
synchronizing the slide show with a prerecorded tape. 
Directions are also given for creating synchronization 
tapes with a stereo cassette tape deck or recorder. 

My only criticism of Visualizer concerns the way 
in which slides are shown. A slide is displayed on 
the screen, then the screen blanks out while the next 
slide loads. Although the screen is dark for only a 
few seconds, it would be better if the next slide could 
load while the current slide is being displayed. 

A utility menu is available at any time during the 
slide creation program. Slides may be renamed or de- 
leted, and an index of slides currently on the disk 
may be viewed. Also, a disk can be formatted from 
within the slide creation program, to avoid having 
to load DOS and then reboot Visualizer. 

In addition to providing instructions for creating, 
showing and printing slides, the 40-page manual con- 



Number Conversion Chart 

Here's a handy little program, written by 
Scott Sheck, of Gaithersburg, Maryland. It will 
generate a chart of decimal numbers from to 
255, along with their hexadecimal and binary 
ecjuivalents. The chart will fit nicely on one 
sheet of 8Vi X 11 printer paper, and provides all 
those numbers at a glance. 



1 REM milCKMMKKlClClCKlCKMKMKMMlCICKKlCMMIt 

2 REM It n 

3 REM » HEK/DECINAL/BINARY CHART * 

4 REM » BY SCOTT SHECK » 

5 REM * A.N.A.L.O.G. COMPUTING * 

6 REM « » 

7 REM WKMKMKKMmtlCMMMKlCKlClCIClClClCKlClCKlC 

le DIM HEX$C2},H$C16),BINARY$C8}:HS="0 
123456789ABCDEF":P0KE 2ei,5:0PEN ttl,8, 
0,"P:" 

29 FOR K=l TO 4:? Ill; "DEC. HEX BINARY 
I "; :NEXT X:? Ill 

30 FOR X=e TO 63 

40 FOR DEC=X TO 255 5TEP 64 :U=DEC :G05U 
B 6e:U=DEC:G0SUB 80:? ttl;DEC,HEX$;' 

BINARY^;" | ■ 

58 ? tti ;NEXT 

60 REM 

78 FOR I=2^T0 1 STEP -1 :T=INTCV/16i :R= 
U-16*T : HEXS tl , 13 =HS IR+1 , R+IJ : M=T : NEXT 
I:RETUR|L 

80 REM 

90 FOR 1=8 TO 1 STEP -l:T=INTCU/2J :R=U 
-2»T: BINARY* CI, IJ=STRSCR} :M=T:NEXT I:R 
ETURN 



X:END 



DECIMAL TO HEK 



DECIMAL TO BINARV 



ULTIMATE STORAGE 

Here's the perfect way to organize your ANALOG Computing library— sturdy, custom-made binders 
and files in deep blue leatherette with embossed silver lettering. Silver labels are included to index 
by volume and year One binder or a box-style file is all you'll need to accommodate 12 issues (1 
year) of ANALOG Computing— all the games, programs, tutorials and utilities that you want handy. 




The ANALOG Computing binder opens flat for easy reading and reference. They're economically 
priced at only $8.50 each— 3 binders for $24.75 or 6 binders for $48.00, postage paid. 

Tlie ANALOG Computing file is attractive and compact, holding 12 issues for easy access. Files 
are available for only $6.95 each— 3 files for $20.00 or 6 files for $36.00, postage paid. 



Foreign orders — add $2.50 each for shipping and handling. 



Please allow four to five weeks for delivery. 



Enclosed is my check or money order in the amount of $ . 

Please send me: ANALOG Computing files ANALOG Computing binders 



PLEASE PRINT. 



Name: . 



Address: 



City: 



Send your order to: 



State: 



Zip Code: 



Jesse Jones Industries 

P.O. Box 5120, DEPT. ACOM, Philadelphia, PA 19141 
Satisfaction guaranteed or money refunded. 



CIRCLE #144 ON READER SERVICE CARD 



PAGE 92 



ANALOG COMPUTING 



ISSUE 29 



INDEX TO ADVERTISERS 



READER SERVICE # 



ADVERTISER 



READER SERVICE If 



ADVERTISER 



141 Active Software 92 

140 Advanced Interface Devices 87 

116 Allen Macroware 31 

119 ■ Alpha Systems 28 

110 American TV 14 

— ANALOG Publishing 40, 54 56 

111 Astra Systems 17 

128 At-A-Glance 70, 83 

108 August Publications 8 

— Batteries Included OBC 

126 C.A.R Software 67 

142 Centurian Enterprises 92 

125 Computability 53 

113 Computer Creations 24 

143 Computer Games Plus 92 

132 Computer Palace/Royal Software 77 

106 Computers Made Simple 8 

115 Computer Software Services 29 

138 Constan 83 

130 Draper Software 76 

139 D.S. Inc 83 

121 Eastern House 41 

109 EduTax 12 

This index is an additional service. While every effort is made to provide a complete 



131 GTA, Inc 76 

135 Hand! Publishing 83 

117 Happy Computers 33 

144 Jesse Jones 91 

122 Lotsa Bytes 40 

133 Lyco Computers 80 

109 Micca 12 

145 Microprose IBC 

102 MMG 2 

127 MPS 70 

112 Newell Industries 18 

137 New Horizons Software 83 

103 O.S.S 5 

105 Programmers Workshop 7 

123 R.A.K 52 

107 Recreational Computer Products 8 

104 Senecom 7 

136 Southern Software 83 

101 SubLOGIC IPC 

120 Suncom 37 

— Tiny Tek 70 

118 Whitehouse Computers 35 

119 Witt's End 37 

124 Xlent Software 52 

and accurate listing, the publisher cannot be responsible for inadvertent errors. 




LElSUREMftRE"" 
The new fttari-onlM 
Magazine on disk. 



tfitK Mult 
reviews, 
colunns o 
Basic and 
Tips for 
beginner . 
old publi 
software^ 
can get a 
new and o 
software 
every Mon 
great iss 
on a two- 
filled wi 
the best 
around an 
just SS p 
Try one i 
will love 
the canad 
Magazine 
HM reside 
add tax p 
shipping . 
state add 
a SASE or 
BBS for i 



i-person 
exc i ting 
n Action^" 
Assenbly 
experts or 

tfhy buy 
c domain 
when you 
dish with 
riginal 
each and 
th. Each 
ue coMes 
sided disk 
th soMe of 
software 
* it cost 
er issue, 
ssue, you 

it! ROM 

ian Atari 

is only $2 

nts Please 

lus 51 for 

Out of 

$2. Send 

call our 

nf orMation 



vailable only fro* 
ACTIVE COMPOTER 

ENTERPRISES 
(SOS) 524-1390 
pa Box 412 
Las Cruces HM 880Q4 



CIRCLE #141 ON READER SERVICE CARD 



ATARI HARDWARE / SOFTWARE 

810 Disk Drives $265 (7) 

810 Disl< Drive Kits $240 (7) 

810 Happy Eniiancemcnt $185 (4) 

1050 Happy Eniiancemcnt $185 (4) 

810 Analog Upgrade Kit $ 37 (3) 

850 Inter/ace Module $125 (7) 

Atari 800 Computer Kits 

48K Electronics $100 (7) 

Atari 400 Computer Kit $ 47 (5) 

800 OS lOK ROM 'B' Board $ 17 (2) 

CPU 'GTIA' Board $ 18 (2) 

16K Memory Board $ 19 (2) 

400/800/810/850 Power Adapter $ 15 (3) 

I/O Data Cable, 6' $ 12 (2) 

13 pin I/O Plug Kit (cable end) $ 3 (1) 

13 pin I/O Jack (Port) $ 3 (1) 

Atari Joystick (standard) $ 5 (2) 

Atari Paddles (set) $ 8 (2) 

All types of other boards and parts arc available! 



Atari Microsoft Basic II 

Cartridge w/manual $ 27 (3) 

Atari Pilot, Cart, w/manual $ 22 (3) 

Atari Basic Cartridge Kit $ 15 (3) 

Atari Assembler/Editor Cart. Kit $ 15 (3) 



Ordering Information: All boards listed are complete 
with all parts and are fully guaranteed. UPS shipping 
charges are shown in brackets next to the price. Ship- 
ping charges must be included with all orders. Orders 
may be placed by phone using your VISA or Master- 
Card, or you may mail your order in with a check or 
money order. Hurry, some supplies are limited. 

CALL OR WRITE FOR FREE 
CATALOG!!! 



CENTURIAN ENTERPRISES 

(805) 544-6616 

Post Office Box 3233 

San Luis Obispo, CA 93403-3233 



Sales Office: 890 Monterey Street 
Suite B, SLO, CA 93401 



CIRCLE #142 ON READER SERVICE CARD 



New Low Price - Completel 

INDUS CT 



"%^^J I • V • 

» 

MPP MICROPRINT $49.95 

MPP1150 $69 95 

MPP 1000E MODEM $119.95 

V0LKSM0DEM12 $229.95 

BASIC XL $59.95 

BASIC XL TOOL KIT $29.95 

THE WRITER'S TOOL $79.95 

SYNFILE or SYNCALC $39.95 

HOMEPAK $34 95 

TAX ADVANTAGE $49 95 

MINER 2049ER $9.95 

BOUNTY BOB STRIKES BACK. . $29.95 

F-15 STRIKE EAGLE $22 95 

AIR RESCUE I $22 95 

MIG ALLEY ACE $22.95 

PIT STOP II $24 95 

QUEST FOR SPACE BEAGLE $27.95 

ULTIMA III $37 95 

QUESTRON $39.95 

RETURN OF HERACLES. . . . $24.95 

UNIVERSE $69.95 

BOOK OF ADVENTURE GAMES. $17.95 

INFOCOM HINT BOOKS $6.95 

Please add S2.50 shipping (54.50 outside USA) 
California residents add 6%. 



COMPUTER GAMES + 

Box 6144 

ORANGE CA 92667 

(714) 639-8189 



CIRCLE #143 ON READER SERVICE CARD 




Put a ^20,000,000 Thrill in 
your Computer!!! 




The F-15 STRIKE EAGLE, one of the world's most sophisti- 
cated fighters, costs the Air Force more than $20,000,000.00 
each. Now you too can strap into your ejection seat and 
prove how good you reaily are in exciting modern jet fighter 
combat. Fly combat missions, engage enemy aircraft, and 
destroy enemy ground targets from historic missions over 
Southeast Asia to today's defense of the strategic oil routes 
through the Straits of Hormuz. 

F-15 STRIKE EAGLE (simulator) has all the features that 
makes the real EAGLE the great fighter aircraft it is — 
afterburners, multiple radars, air to air missiles, high 
explosive bombs, cannon, drop tanks. Electronic Counter 
Measures (EGM) flares, electronic ground tracking 
maps. Heads Up Display (HUD), outstanding 3-dimen- 
sional cockpit visibility, and realistic F-15 maneu- 
verability. Your mission is to take off from your base, 
fly to and destroy your primary target through all the 
dangers of enemy territory including Surface to Air 
Missiles and enemy aircraft. Of course, you have to 
get back home again, tool! 
F-15 STRIKE EAGLE is a very real simulation, accom- 



plished with the guidance of real fighter pilots, and includes 
seven different combat missions, four skill levels, and an 
infinite number of exciting scenarios. F-15 will thrill and chal- 
lenge you and give you the chance to prove you have the 
"Right Stuff" of an EAGLE fighter pilot!! 

F-15 STRIKE EAGLE is available for Commodore 64, ATARI 
(48K), and Apple II (64K) computers. Suggested retail price 
is only $34.95. Find STRIKE EAGLE at your local retailer, or 
call or write for MC/VISA, or COD orders. Add $2.50 for 
Postage and Handling (Int'l add $4.00USD). MD residents 
add 5% sales tax. 

Experience Che realit:y of 

these ocher great: simulat:ions 

from MicroProse 



MicroProse Software 

The Action is Simulated — the Excitement is REAL!! 




1DB16 Beaver Dam Road 
Hunt Valley, MD21030 

[301] 667-11 51 



As close to the Real 


Heart Pounding 


Sensational Assault 


Thrill of Flying as You 


Accelerated Real- 


Chopper Rescue 


Can Handle!!! 


Time Defense of 


Raids for Daring 




Europe Against 


Pilots!!! 




Soviet Invasion!!! 





Commodore 64. ATARI, APPLE, and IBM are registered trademarks of Commodore Business Machines Inc., ATARI Inc.. APPLE Computer Inc., and International Business Machines Inc., respectively. 

CIRCLE #145 ON READER SERVICE CARD 



imagine.. 




^ A Program that gives your computer the power of full word 
processing, but as easy to use as a typewriter. 

^ A Program that stores and retrieves any type of information and 
that understands real English commands. 

^-A Program that enables your computer to talk over a telephone 
to other computers around the world. 




by Russ wetmore. 
Featuring three of the most needed personal productivity tools; 
All for the incredible price of tnOt,^ 



«K 



imagine... 







4 

0i 




word- Processing With rfo#ie?lext 
information management with HQirifeFsnd 
. TCIecommunicationswIthHim^tem 

fe HomePak features ail three programs on a 

m. single disk. Each program works smoothly 

and effortlessly with the others. 

Simple enough for the first time user, 
but with the features and flexibility 
demanded by the experienced usbr 

...^ ' AT YOUR 




Atari and Commodore 5a versions of HbmePak are available Now. Appie ll e/c and PC Jr editions of HorttePak will be available winter 1984 

HomePaKWill also be released in versions for other major computer systems during 1985 

1 computer system may require accessory devices such as modems, printers or cards to utilize specific features of HomePak. see your dealer for details 

Developed by Russ Wetmore for star systems software for; batteries ii>jciuded The Energized Softwrare Company" 

•Manufacturers suggested U.S. list price. Dealers may sell for less. AD A 1984 Batteries included 

Atari. Apple, commodore and IBM are registered trademarks of Atari Corp., Apple inc.. Commodore Business Machines and 

^aSsilit IBM Business Machines inc, respectively. ,